EntityFramework where子句是否总是以相同的顺序返回对象

时间:2013-04-11 11:44:58

标签: c# .net entity-framework

例如,

products.Where(p => p.LastModifiedOn > someDate)

总是以相同的顺序返回产品(无论它是如何订购的,只要每次调用相同的代码时它都是一致的)?或者我应该添加.OrderBy()方法以确保?

2 个答案:

答案 0 :(得分:5)

  

或者我应该添加.OrderBy()方法以确保?

你应该。它在内部转换为底层数据源语言,例如Select * from table where ...,并且不保证其返回值始终保持相同的顺序。

您可能会看到以下问题:Does a SELECT query always return rows in the same order? Table with clustered index

答案 1 :(得分:1)

LINQ to SQL不保留顺序。既然你提到了EntityFramework,那就是你问题的答案。但是,您应该注意,LINQ to Objects确实保留了顺序 - 与输入可枚举的顺序相同。