gpt4 book ai didi

c# - LINQ to Entities - 多个 OrderBy 方法不起作用

转载 作者:可可西里 更新时间:2023-11-01 08:54:55 24 4
gpt4 key购买 nike

如果我对查询应用两个 OrderBy 方法,就像这样

query.OrderBy(rec => rec.Name).OrderByDescending(rec => rec.Title);

然后只应用第二种方法,第一种方法被忽略。这是一个错误吗?如果我需要对一列进行升序排序而对另一列进行降序排序怎么办?方法语法根本无法实现吗?

最佳答案

试试这个:

query.OrderBy(rec => rec.Name).ThenByDescending(rec => rec.Title);

您的第二个 OrderBy 正在重置您的第一个结果集。这就是存在 ThenBy 扩展的原因。它将保留您的第一个结果集,同时对其应用额外的排序。

本质上,您现有的伪 SQL 解决方案看起来像这样:

results = SELECT * FROM Obj ORDER BY Name;
results = SELECT * FROM results ORDER BY Title DESC;

...这不是您想要的。 ThenBy 扩展看起来像这样:

results = SELECT * FROM Obj ORDER BY Name ASC, Title DESC

关于c# - LINQ to Entities - 多个 OrderBy 方法不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4694096/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com