C# GroupBy函数按布尔值排序

C# GroupBy函数按布尔值排序,c#,.net,linq,sorting,sql-order-by,C#,.net,Linq,Sorting,Sql Order By,编辑 我是个傻瓜,我的控制器有一个输入错误,现在一切都好了。(这是漫长的一周) 好吧,这是我不确定的。我正在考虑以不同的方式实现我想要的,但我想知道是否有办法做到这一点 我有一个IQueryable对象,在我的表中,我有一个类型为bool的列,希望在表中按true/false对其排序 以下是我尝试过的一些东西: mQueryableObject.OrderBy(model => model.myBoolean); 这并没有给我预期的结果,正如我一半的预期 那么有没有办法通过布尔值(真/

编辑

我是个傻瓜,我的控制器有一个输入错误,现在一切都好了。(这是漫长的一周)


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

我有一个
IQueryable
对象,在我的表中,我有一个类型为
bool
的列,希望在表中按true/false对其排序

以下是我尝试过的一些东西:

mQueryableObject.OrderBy(model => model.myBoolean);
这并没有给我预期的结果,正如我一半的预期

那么有没有办法通过布尔值(真/假)对
IQueryable
对象(LINQ)进行排序呢

我真的很想了解一些情况

这并没有给我预期的结果,正如我一半的预期

嗯,如果不知道你期望什么,很难知道这里出了什么问题。还不清楚您是否真的将
OrderBy
调用本身作为一条语句。如果是这样,那就是问题所在——LINQ操作符不会改变现有的查询;它们返回一个新查询。例如,这可能就是您所需要的全部:

mQueryableObject = mQueryableObject.OrderBy(model => model.myBoolean);
顺便说一下,这将在
true
之前排序
false
。如果你想反过来,只需使用:

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

你先要真值,然后才要假值?你期望的结果是什么?你得到的是什么错了?@ShaiCohen对于order,它有一个OrderByDescending,我用于其他的,因此,它们的顺序最终无关紧要,因为我可以用任何一种方式来改变它。@JoachimIsaksson我希望真值和假值分开,我以随机顺序得到它们,我不知道它们来自哪里。好的。你想要什么样的结果?“Jon Skeet”的答案是问题吗?我期待着你所描述的,先真后假,先假后真,但我得到的是一个随机结果。那么它一定在代码中的其他地方。如果我发现问题,我会更新,我应该提供更多的信息吗?接受你的回答,因为它告诉我我查询正确,并帮助我确定问题在其他地方