C# 第一次迭代是否在.AsEnumerable上执行整个查询?

C# 第一次迭代是否在.AsEnumerable上执行整个查询?,c#,sql-server,entity-framework,linq-to-sql,C#,Sql Server,Entity Framework,Linq To Sql,如果我有一个linq到sql变量(例如:var x=from y in db.Orders…) 然后我调用.AsEnumerable(),如果我迭代这个元素, 第一次迭代是否执行整个查询?或者它们的一部分是在foreach循环中生成的?AsEnumerable将取消查询的执行,如果在foreach循环中使用它,查询将被执行,结果加载到内存中,然后您将通过它进行循环 在中检查来自@Gert Arnold的答案,它可能会有用。一个可计算的将解除查询的执行,如果在foreach循环中使用它,查询将被执

如果我有一个linq到sql变量(例如:var x=from y in db.Orders…) 然后我调用.AsEnumerable(),如果我迭代这个元素,
第一次迭代是否执行整个查询?或者它们的一部分是在foreach循环中生成的?

AsEnumerable
将取消查询的执行,如果在foreach循环中使用它,查询将被执行,结果加载到内存中,然后您将通过它进行循环


在中检查来自
@Gert Arnold
的答案,它可能会有用。

一个可计算的
将解除查询的执行,如果在foreach循环中使用它,查询将被执行,结果加载到内存中,然后您将通过它进行循环


在中检查
@Gert Arnold
的答案,它可能会有用。

那么这完全是在第一次迭代之前执行的?foreach(linqtosql中的x)基本上是的,请参阅这篇关于查询执行的MSDN文章。那么这完全是在第一次迭代之前执行的?foreach(linqtosql中的x)基本上是的,请参阅这篇关于查询执行的MSDN文章。