在之前的教程中,我们已经完成了学校的数据模型。现在我们将读取和显示相关数据,请理解EF装载导航属性的方式。
下图显示了我们将要实现的页面效果。
一、Lazy、Eager、Explicit数据加载
使用EF为实体中的导航属性加载相关数据,有下面几种方法。
1.Lazy loading
当实体第一次读取时,相关数据并没有获得。然而当你第一次想要访问导航属性时,导航属性的相关数据会自动获得。这产生了多次访问数据库,一次是实体数据读取,一次是导航属性读取。
2.Eager loading
当实体读取时,相关数据也一起读取,使用Include方法实现。这是通过join数据表,查询获取需要的数据。
3.Explicit loading
当你访问导航属性时,相关数据不会自动获取。你需要在代码中显式获取相关数据。
Lazying loading和Explicit Loading都称为延迟加载。
4.讨论
时间: 2024-10-21 14:42:19