我的数据库中有一个包含DateTime的字段?我想对结果进行排序,以便NULL显示在顶部,然后按DateTime降序,例如,
null
null
2012-04-01
2012-01-01
2011-09-04
Run Code Online (Sandbox Code Playgroud)
原因是我正在查看到期日期,但有些条目没有到期.
Fré*_*idi 156
您可以返回DateTime.MaxValue而不是null从排序表达式返回,因此具有null日期的行首先排序:
yourData.OrderByDescending(row => row.dateTimeField ?? DateTime.MaxValue);
Run Code Online (Sandbox Code Playgroud)
小智 29
我发现最直接的方法是:
data.OrderBy(Function(o) o.myDate IsNot Nothing).ThenByDescending(Function(o) o.myDate)
Run Code Online (Sandbox Code Playgroud)
在C#我认为......
data.OrderBy(o => o.myDate != null).ThenByDescending(o => o.myDate)
Run Code Online (Sandbox Code Playgroud)
这也适用于LINQ to SQL.我不确定是否if(nullable, value)会成功转换为SQL.
| 归档时间: |
|
| 查看次数: |
31014 次 |
| 最近记录: |