vb.net - 将空白条目排序到 LINQ 查询的底部

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

我正在尝试根据两个字段对 LINQ to SQL 查询进行排序。第一个字段有时为空,它会自动排序到升序查询的顶部。有没有办法让空条目排序到底部?

这是一个例子:

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

将返回:

  • 空,1
  • 空,4
  • 2009 年 12 月 2 日,5
  • 2009 年 12 月 3 日,2
  • 2009 年 12 月 3 日,3

所需订单:

  • 2009 年 12 月 2 日,5
  • 2009 年 12 月 3 日,2
  • 2009 年 12 月 3 日,3
  • 空,1
  • 空,4

最佳答案

如果它们是字符串:

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

如果它们是可为空的日期时间:

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

关于vb.net - 将空白条目排序到 LINQ 查询的底部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1833943/

相关文章:

linq-to-sql - LINQ To SQL 可以与使用 sp_executeSQL 的存储过程一起使用吗?如果没有,你如何处理?

c# - Linq2sql : efficient way to get random elements with weight?

sql - 在 VB NET 中从 SQL 数据库中检索位列

vb.net - 如何使用 VB.NET 查看 Outlook 日历约会

asp.net-mvc - 使用 asp.net mvc 的离线和在线应用程序

c# - LINQ 左连接可空值

C# 字典 ContainsKey 与 Keys.Any()

c# - LINQ to XML 将空项添加到对象列表

asp.net - 动态创建的 DropDownList 在回发时丢失 ListItems

c# - 如何将LINQ列表更改为arraylist