1
2
在Linq到实体中,Linq查询被转换为SQL查询,所以OrderBy的Linq到对象实现并不重要。您应该查看ORDER BY的数据库实现。如果您使用的是MS SQL,您可以在文档中找到:
因此,相同值的ORDER BY不能保证相同的顺序,因此限制它可能会提供不同的结果集。要解决此问题,您只需按具有唯一值的其他列进行排序,例如id。因此,基本上您将有:
|
2
0
我认为“稳定”是指始终如一。如果SQL查询中没有ORDER BY,则无法保证每次运行查询时数据的顺序。它只需以对服务器最有效的顺序返回所有数据。当您添加ORDER BY时,它将对该数据进行排序。由于您是在所有排序值都相同的情况下对数据进行排序,因此没有行被重新排序,因此排序后的数据的顺序是您不期望的。如果需要特定的顺序,则需要添加辅助排序列,如ID。 最好不要假定从服务器返回的数据的顺序,除非您明确定义了该顺序。 |