LINQ中的First()会导致急切或延迟加载吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LINQ中的First()会导致急切或延迟加载吗?相关的知识,希望对你有一定的参考价值。

我有一个问题:

db.Order.Include("OrderItem").First(r => r.Id == OrderId)
  1. 它上面的First()是否会导致Eager或Lazy加载?
  2. 如果没有那么你将如何强制Eager加载First()?
  3. 以上组合查询是否热切或懒惰加载?
答案

First()FirstOrDefault()在他们被召唤的地方立即(急切地)执行。

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

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

以上是关于LINQ中的First()会导致急切或延迟加载吗?的主要内容,如果未能解决你的问题,请参考以下文章

我可以同时使用急切和延迟加载吗?

EF急切加载和延迟加载的区别?

远程案例中的延迟/急切加载策略(JPA)

急切加载与加入获取相同吗?

异步 SQLalchemy:访问急切加载的空关系会触发新的延迟加载,引发错误

延迟加载孩子,里面有急切的集合