GroupBy函数按布尔顺序排序

时间:2012-03-16 18:42:12

标签: c# .net linq sorting sql-order-by

修改

我是个笨蛋,我的控制器里有一个错字,现在一切都很好。 (这是一个非常漫长的一周)


好的,这是我不确定的。我正在考虑以不同的方式实现我想要的东西,但我想知道是否有办法做到这一点。

我有一个IQueryable对象,在我的表格中,我有一个bool类型的列,并希望在表格中按真/假排序。

以下是我尝试过的内容:

mQueryableObject.OrderBy(model => model.myBoolean);

这并没有给我预期的结果,正如我期望的那样。

有没有办法按布尔值(true / false)命令IQueryable对象(LINQ)。

我真的很感激一些见解。

1 个答案:

答案 0 :(得分:1)

  

这并没有给我预期的结果,正如我期望的那样。

在不知道你的期望的情况下,很难知道这里有什么问题。还不清楚你是否真的将OrderBy调用作为语句本身。如果是这样,那就是问题 - LINQ运营商不会改变现有的查询;他们返回新的查询。例如,可能只需

mQueryableObject = mQueryableObject.OrderBy(model => model.myBoolean);

顺便说一下,这会在false之前对true进行排序。如果你想要反过来,只需使用:

mQueryableObject = mQueryableObject.OrderBy(model => !model.myBoolean);