gpt4 book ai didi

c# - 从 LINQ 数据库查询中的整数返回枚举名称

转载 作者:太空宇宙 更新时间:2023-11-03 21:26:34 26 4
gpt4 key购买 nike

我想使用 LINQ 查询返回作为整数存储在数据库中的枚举的字符串值。

我尝试过的:

  return (from a in context.Tasks
select new TaskSearch
{
TaskID = a.TaskID,
TaskTypeName = Enum.GetName(typeof(TaskTypeEnum), a.TaskType)
}).ToList();

我正在使用 asp.net mvc。

异常:EntityFramework.SqlServer.dll 中出现“System.NotSupportedException”类型的异常,但未在用户代码中处理

附加信息:LINQ to Entities 无法识别“System.String GetName(System.Type, System.Object)”方法,并且无法将此方法转换为存储表达式。

最佳答案

您需要具体化您的查询(查询必须能够转换为sql语句,但Enum.GetName()不能转换为sql)

尝试

((from a in context.Tasks select a).AsEnumerable().Select(t => new TaskSearch
{
TaskID = t.TaskID,
TaskTypeName = Enum.GetName(typeof(TaskTypeEnum), t.TaskType)

}).ToList());

关于c# - 从 LINQ 数据库查询中的整数返回枚举名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26645189/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com