You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Entity Framework Core OrderBy后调用Distinct排序失效问题咨询

问题原因

你当前的查询顺序存在逻辑问题:Distinct 操作在多数数据库实现中不会保留之前的排序结果,EF 生成的 SQL 会将 OrderBy 放在 Distinct 之前执行,去重过程会打乱原有排序,最终导致排序不生效。

解决方案

调整操作顺序,先做列投影,再去重,最后对去重后的结果排序即可。
修正后的代码如下:

return context.TableName
            .Select(p => p.ColumnName)
            .Distinct()
            .OrderBy(col => col)
            .ToList();

说明

调整顺序后生成的 SQL 会按 SELECT 单列 → DISTINCT 去重 → ORDER BY 排序 的逻辑执行,去重操作不会影响后续排序的效果,完全匹配你的需求。

内容的提问来源于stack exchange,提问作者maxba

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 22:27:02