Entity framework 如何使用枚举列的字符串值对查询进行排序
我的表包含与枚举类型对应的int列。 例如,int column命令的值对应于此类型:Entity framework 如何使用枚举列的字符串值对查询进行排序,entity-framework,ef-code-first,Entity Framework,Ef Code First,我的表包含与枚举类型对应的int列。 例如,int column命令的值对应于此类型: public enum Commands { Start = 1, End = 2 } 如果我查询表并按命令对其排序,我将得到Command=Start后跟commo=End的行 是否有一种方法可以根据命令列的字符串值对查询进行排序,例如,End first和Start last results.OrderBy(s=>(命令作为命令).ToString() 但它给了我一个错误“只支持初始值设定项、实
public enum Commands
{
Start = 1,
End = 2
}
如果我查询表并按命令对其排序,我将得到Command=Start后跟commo=End的行
是否有一种方法可以根据命令列的字符串值对查询进行排序,例如,End first和Start last
results.OrderBy(s=>(命令作为命令).ToString()
但它给了我一个错误“只支持初始值设定项、实体成员和实体导航属性”
当然,我可以将命令的字符串值作为列并按其排序,但出于不同的原因,我们更喜欢使用int列
谢谢异常与您的代码不匹配。它应该是“as运算符必须与引用类型或可空类型一起使用”,因为不能将
as
与值类型一起使用,如枚举。和:“LINQ to Entities无法识别方法'System.String ToString()'方法”。进一步:在EF 5中有enum支持,我不确定排序顺序是什么,我怀疑是数字值。现在我想你可能忘记了s
:s.Command
。异常与你的代码不匹配。它应该是“as运算符必须与引用类型或可空类型一起使用”,因为不能将as
与值类型一起使用,如枚举。和:“LINQ to Entities无法识别方法'System.String ToString()'方法”。进一步:在EF 5中有enum支持,我不确定排序顺序是什么,我怀疑是数值。现在我想你可能忘记了s
:s.Command
。