Dmi*_*y O 10 .net c# linq-to-entities sql-order-by
如果我将两个OrderBy方法应用于我的查询,就像那样
query.OrderBy(rec => rec.Name).OrderByDescending(rec => rec.Title);
Run Code Online (Sandbox Code Playgroud)
然后只应用第二种方法,忽略第一种方法.这是一个错误吗?如果我需要对一列进行升序排序而对另一列进行降序排序,该怎么办?是否通过方法语法完全无法实现?
Geo*_*ton 25
试试这个:
query.OrderBy(rec => rec.Name).ThenByDescending(rec => rec.Title);
Run Code Online (Sandbox Code Playgroud)
您的第二个OrderBy正在重置您的第一个结果集.这就是ThenBy扩展存在的原因.它将保留您的第一个结果集,同时对其应用其他排序.
从本质上讲,您作为伪造SQL的现有解决方案看起来像这样:
results = SELECT * FROM Obj ORDER BY Name;
results = SELECT * FROM results ORDER BY Title DESC;
Run Code Online (Sandbox Code Playgroud)
......这不是你想要的.该ThenBy扩展会是这个样子:
results = SELECT * FROM Obj ORDER BY Name ASC, Title DESC
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4601 次 |
| 最近记录: |