![]() |
1
6
在EF4中,如果使用代码生成或代理,则默认情况下会执行延迟加载。”纯“poco(不要与所谓的poco代理混淆)无法执行延迟加载,除非您为其编写代码。更多细节如下 in this post . 在EF1中,没有延迟加载,因此必须使用显式加载、预加载或投影。
显式加载意味着调用
预加载会导致属性与实体本身一起加载。这样就避免了第二个数据库查询。 Projection 使ef以优化的方式仅为所需的属性生成SQL。 尽管EF4中默认启用了延迟加载,但在任何ORM中,它都是相对低效的(会导致许多DB查询)。您可能仍然希望使用投影或预加载。 |
![]() |
2
0
在使用实体框架时,一般的做法是检查是否加载了子框架……如果没有,则加载它。
直接来自: |
![]() |
3
0
在Entity Framework版本1(aka 3.5)中,只有三种情况下,EF可能从相关表中加载数据:
上面描述的所有三个场景都要求显式指定要加载相关表数据。据我所知,如果没有你的请求,EF v1永远不会在“幕后”进行(这可以被视为一个积极的,但它不是其他现代ORM的工作方式,他们在版本2-也就是版本4.0中更改了它)。 |
![]() |
Emopusta · 从后端到前端的图像路径不工作 2 年前 |
![]() |
Asdrubal Hernandez · Linq查询特定数组索引出错 2 年前 |
![]() |
Niyazi Babayev · 如何在表达式中动态应用表达式? 3 年前 |
|
Dansih · .Net核心自定义身份验证方案 3 年前 |
![]() |
lolorekkk · 面板插入。NET WinForm 3 年前 |