【问题标题】:Does First() in LINQ cause eager or lazy loading?LINQ 中的 First() 是否会导致急切或延迟加载?
【发布时间】:2019-03-30 00:18:50
【问题描述】:

我有一个问题:

db.Order.Include("OrderItem").First(r => r.Id == OrderId)
  1. First() 本身是否会导致急切或延迟加载?
  2. 如果不是,那么您将如何强制为 First() 加载 Eager?
  3. 上述组合查询是急加载还是延迟加载?

【问题讨论】:

  • Linq 到 SQL 或 Linq 到 EF?这是两个截然不同的框架

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


【解决方案1】:

First()FirstOrDefault() 在它们被调用的地方立即(急切地)执行。

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-30
    • 1970-01-01
    • 1970-01-01
    • 2011-03-14
    • 2016-09-20
    • 2012-03-26
    • 1970-01-01
    相关资源
    最近更新 更多