将空白条目排序到LINQ查询的底部

时间:2009-12-02 16:11:11

标签: vb.net linq linq-to-sql sorting sql-order-by

我正在尝试基于两个字段对LINQ to SQL查询进行排序。第一个字段偶尔为null,它会自动排序到升序查询的顶部。有没有办法让空条目排在最后?

以下是一个例子:

From x in SampleDataContext.Event _
Order By x.Date, x.Sequence_Number _
Select x.Date, x.Sequence_Number

会回来:

  • NULL,1
  • NULL,4
  • 12/2 / 09,5
  • 12/3 / 09,2
  • 12/3 / 09,3

所需订单:

  • 12/2 / 09,5
  • 12/3 / 09,2
  • 12/3 / 09,3
  • NULL,1
  • NULL,4

1 个答案:

答案 0 :(得分:15)

如果他们是字符串:

Order By (string.IsNullOrEmpty(x.Date) ? "zzzzzz" : x.Date)

如果他们的日期可以为空:

Order By (x.Date ?? DateTime.MaxValue)