若数字并没有值,它应该放在最后(LINQ)
本文关键字:最后 LINQ 并没有 数字 | 更新日期: 2023-09-27 18:26:39
我正在使用linq进行sql,我的代码如下所示:
var agendaLists =
dataContext.view_Agendas.Where(m => m.MeetingID == meetingID)
.OrderBy(n => n.Number)
.ThenBy(n => n.CaseNumber)
.ThenByDescending(s => s.MainYN)
.ToList();
所以基本上,我们的"n.Number"就是订单号。一切都很好,排序为1,2,3,4等等,这是正确的。但如果一个对象在n中没有值,它将显示在顶部,但我希望它放在最后。
今天它是这样分类的,假设我们得到4个对象:
Null, 1, 2, 3
我想要这样排序:
1, 2, 3, Null
任何形式的帮助都将不胜感激。
尝试以下操作:
n => n.Number ?? int.MaxValue
我不记得你是否真的要检查DBNull
,但它是一样的。
您可以使用这种方法,假设Number
是int?
:
var agendaLists = dataContext.view_Agendas
.Where(m => m.MeetingID == meetingID)
.OrderBy(m => n.Number.HasValue ? 0 : 1)
.ThenBy(n => n.Number)
.ThenBy(n => n.CaseNumber)
.ThenByDescending(s => s.MainYN)
.ToList();