修改
我是个笨蛋,我的控制器里有一个错字,现在一切都很好。 (这是一个非常漫长的一周)
好的,这是我不确定的。我正在考虑以不同的方式实现我想要的东西,但我想知道是否有办法做到这一点。
我有一个IQueryable
对象,在我的表格中,我有一个bool
类型的列,并希望在表格中按真/假排序。
以下是我尝试过的内容:
mQueryableObject.OrderBy(model => model.myBoolean);
这并没有给我预期的结果,正如我期望的那样。
有没有办法按布尔值(true / false)命令IQueryable
对象(LINQ)。
我真的很感激一些见解。
答案 0 :(得分:1)
这并没有给我预期的结果,正如我期望的那样。
在不知道你的期望的情况下,很难知道这里有什么问题。还不清楚你是否真的将OrderBy
调用作为语句本身。如果是这样,那就是问题 - LINQ运营商不会改变现有的查询;他们返回新的查询。例如,可能只需:
mQueryableObject = mQueryableObject.OrderBy(model => model.myBoolean);
顺便说一下,这会在false
之前对true
进行排序。如果你想要反过来,只需使用:
mQueryableObject = mQueryableObject.OrderBy(model => !model.myBoolean);