LINQ中的First()会导致渴望加载还是延迟加载?

时间:2019-03-30 00:18:50

标签: c# .net linq linq-to-sql linq-to-entities

我有一个查询:

db.Order.Include("OrderItem").First(r => r.Id == OrderId)
  1. First()本身会导致渴望加载还是延迟加载?
  2. 如果没有,那么您将如何强制为First()加载Eager?
  3. 上面的组合查询是渴望加载还是延迟加载?

1 个答案:

答案 0 :(得分:9)

First()FirstOrDefault()在被调用时立即(急切地)执行。

所有返回单个不可枚举结果的标准LINQ运算符,以及不返回显式IEnumerable<T>的标准LINQ运算符,将立即执行。

有关LINQ运算符的完整列表,请参见Classification of Standard Query Operators by Manner of Execution