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

Sam*_*lly 3 .net c# linq linq-to-entities linq-to-sql

我有一个查询:

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

Nic*_*las 9

First()FirstOrDefault()在调用它们时立即执行(急切)。

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

有关LINQ运算符的完整列表,请参见按执行方式对标准查询运算符进行分类