Linq orderyby布尔值

Dav*_*Vdd 9 c# linq sql-order-by

我有一个Linq查询,它返回一个ordererd列表,它可以工作但是当排序一个布尔值时,它总是首先放置false项.

return from workers in db.Workers
               orderby workers.active, workers.naam 
               select workers;
Run Code Online (Sandbox Code Playgroud)

有没有办法先订购真正的物品.

谢谢你的帮助

大卫

Enr*_*lio 28

排序依据方法对项目进行排序默认情况下按升序排列.现在,假设布尔值的数字表示为:

  • false = 0
  • true = 1

false价值自然会先到.如果您想要撤销订单,只需使用descending关键字:

return from workers in db.Workers
               orderby workers.active descending, workers.naam 
               select workers;
Run Code Online (Sandbox Code Playgroud)


Nix*_*Nix 9

使用order by descending选项,它将反转列表.有关排序的更多示例,请参阅MSDN Soring Data.

return from workers in db.Workers
           orderby workers.active descending, workers.naam 
           select workers;
Run Code Online (Sandbox Code Playgroud)