使用linq查询时遇到问题。我使用proc从数据库中获取大约600000条记录。对于每个输入,我都用LINQ过滤它。使用LINQ查询过滤后,数据行的顺序不会保持不变。以前有人遇到过这个问题吗?
谢谢,
答案 0 :(得分:2)
使用LINQ查询过滤后,数据行的顺序不会保持不变。
大多数LINQ运营商不保证订购。如果您想要保证订购,您应该使用OrderBy
专门按相应的列排序查询结果。
答案 1 :(得分:0)
如果您没有指定订单并且您的数据库有多个处理器,则无法保证订单在调用之间保持一致。
如果您没有订购数据,数据库引擎可以将请求发送到多个线程,并在每个线程处理结果时汇总结果。如果服务器可以同时处理线程,那么该顺序将是不确定的。
从好的方面来说,你知道你正在尽快获得数据。
修改强>
Linq的实施也是如此。如果没有指定顺序,那么框架可以以任何方式自由地执行语句,枚举正确的结果。