我一直在搜索如何将lambum表达式/ LINQ查询中的枚举转换为谓词到EF。例如,我有以下枚举:
public enum MyEnum
{
[Display(DisplayName="FirstDesc")
First = 0,
[Display(DisplayName="SecondDesc")]
Second = 1,
[Display(DisplayName="ThirdDesc")]
Third = 2
}
我的LINQ查询是
var query = (from a in context.users
select new { Desc =
case when Status==(int)MyEnum.First ? "FirstDesc" :
case when Status==(int)MyEnum.Second ? "SecondDesc":
case when Status==(int)MyEnum.Third ? "ThirdDesc" : "Unknown" });
我希望实现这一点,一旦我向枚举添加新项目,linq查询会自动将条件调整为枚举中的所有项目。
任何帮助都将不胜感激。