Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Entity framework 如何使用枚举列的字符串值对查询进行排序_Entity Framework_Ef Code First - Fatal编程技术网

Entity framework 如何使用枚举列的字符串值对查询进行排序

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() 但它给了我一个错误“只支持初始值设定项、实

我的表包含与枚举类型对应的int列。 例如,int column命令的值对应于此类型:

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