LINQ 中的 First() 会导致急切加载还是延迟加载?
Does First() in LINQ cause eager or lazy loading?
我有一个问题:
db.Order.Include("OrderItem").First(r => r.Id == OrderId)
- First() 本身会导致预加载还是延迟加载?
- 如果不是,那么您将如何为 First() 强制预加载?
- 以上组合查询是预加载还是延迟加载?
First()
和 FirstOrDefault()
在它们被调用的地方立即(渴望)执行。
所有标准 LINQ 运算符,return 一个单一的、不可枚举的结果,以及那些 return 不显式 IEnumerable<T>
的运算符,都会立即执行。
有关 LINQ 运算符的完整列表,请参阅 Classification of Standard Query Operators by Manner of Execution。
我有一个问题:
db.Order.Include("OrderItem").First(r => r.Id == OrderId)
- First() 本身会导致预加载还是延迟加载?
- 如果不是,那么您将如何为 First() 强制预加载?
- 以上组合查询是预加载还是延迟加载?
First()
和 FirstOrDefault()
在它们被调用的地方立即(渴望)执行。
所有标准 LINQ 运算符,return 一个单一的、不可枚举的结果,以及那些 return 不显式 IEnumerable<T>
的运算符,都会立即执行。
有关 LINQ 运算符的完整列表,请参阅 Classification of Standard Query Operators by Manner of Execution。