LINQ按空列排序,其中顺序升序,并且空值应为最后
我正在尝试按价格对产品列表进行排序。
结果集需要按列从低到高的价格列出产品LowestPrice
。但是,此列可以为空。
我可以像这样按降序对列表进行排序:
var products = from p in _context.Products where p.ProductTypeId == 1
orderby p.LowestPrice.HasValue descending
orderby p.LowestPrice descending
select p;
// returns: 102, 101, 100, null, null
但是我不知道如何按升序排序。
// i'd like: 100, 101, 102, null, null
回答:
尝试将两个列按相同的顺序排列。
orderby p.LowestPrice.HasValue descending, p.LowestPrice
否则,每个orderby都是对集合的单独操作,每次都会对其进行重新排序。
这应该先对值排序,然后“对”值排序。
以上是 LINQ按空列排序,其中顺序升序,并且空值应为最后 的全部内容, 来源链接: utcz.com/qa/430571.html