例如,将
products.Where(p => p.LastModifiedOn > someDate)
总是以相同的顺序返回产品(不管它是如何订购的,只要我每次调用相同的代码时都是一致的)?或者我应该添加.OrderBy()
方法来确保?
例如,将
products.Where(p => p.LastModifiedOn > someDate)
总是以相同的顺序返回产品(不管它是如何订购的,只要我每次调用相同的代码时都是一致的)?或者我应该添加.OrderBy()
方法来确保?
或者我应该添加 .OrderBy() 方法来确保?
是的,你应该。例如,它在内部翻译为底层数据源语言, Select * from table where ...
并且不能保证其返回值始终保持相同的顺序。
您可能会看到这个问题:SELECT 查询是否总是以相同的顺序返回行?具有聚集索引的表
LINQ to SQL 不保留顺序。既然您提到了 EntityFramework,这就是您问题的答案。但是,您应该注意,LINQ to Objects 确实保留了顺序 - 与输入可枚举的顺序相同。