_db.InstellingAdressens
.Where(l => l.GEMEENTE.Contains(gem_query))
.OrderBy(q => q.GEMEENTE)
.Select(q => q.GEMEENTE)
.Distinct();
这是查询。它返回List<string>
但字符串根本没有排序。为什么OrderBy
没有效果?以及如何解决它?
答案 0 :(得分:9)
尝试在通话结束时输入OrderBy。
_db.InstellingAdressens.
Where(l => l.GEMEENTE.Contains(gem_query)).
Select(q=>q.GEMEENTE).Distinct().
OrderBy(q=>q).ToList();
答案 1 :(得分:6)
Distinct
并不知道您在获得物品之前已经订购了物品,因此无法使用该知识。因此,它必须假设这些项目是无序的,因此只需要用它们做它想要的东西。
典型的实现将使用散列表,该散列表不按您通常希望排序的项排序,因此不同操作的结果是无序集。
正如其他人所建议的那样,改变你的通话顺序,最后进行排序,你应该得到你想要的。
答案 2 :(得分:1)
更改通话顺序
_db.InstellingAdressens.Where(l => l.GEMEENTE.Contains(gem_query)).Select(q=>q.GEMEENTE).Distinct().OrderBy(q=>q.GEMEENTE).ToList();
答案 3 :(得分:1)
试试这个只是按查询的最后一个命令
_db.InstellingAdressens
.Where(l => l.GEMEENTE.Contains(gem_query))
.Select(q=>q.GEMEENTE)
.Distinct()
.OrderBy(q=>q.GEMEENTE).ToList();