【发布时间】:2014-09-19 08:58:12
【问题描述】:
我目前正在摆弄 AdventureWorks 示例数据库和 LinqPad,以寻找一些想法。
这是有问题的查询:
SalesOrderHeaders.GroupBy (soh => new {soh.CustomerID, soh.BillToAddressID})
.Where(soh => soh.Skip(1).Any())
.Dump();
我们的想法是根据某些标准查找重复项,然后显示它们,但第一组数据除外。结果应该从表中删除。
执行查询后,我得到结果 A)
再次执行查询后,我得到了结果 B)
我不关心查询的正确结果,而是关心结果集的顺序。只有这两种可能性存在,并且它们在每次运行查询时交替出现。 当然我可以通过 Key 订购,但我更感兴趣的是为什么会发生这种情况?为什么顺序改变/交替?
【问题讨论】:
-
您的期望导致呈现给用户的数据应该被排序的一般原则,即使没有其他理由对其进行排序,也没有行之间的任何逻辑排序。 (当然,这不适用于 LINQPad 和 SSMS 等开发人员工具。)
标签: c# linq linq-to-sql linqpad