首页 > 代码库 > 演练5-4:Contoso大学校园管理系统4

演练5-4:Contoso大学校园管理系统4

      在之前的教程中,我们已经完成了学校的数据模型。现在我们将读取和显示相关数据,请理解EF装载导航属性的方式。

      下图显示了我们将要实现的页面效果。

一、Lazy、Eager、Explicit数据加载

      使用EF为实体中的导航属性加载相关数据,有下面几种方法。

1.Lazy loading

      当实体第一次读取时,相关数据并没有获得。然而当你第一次想要访问导航属性时,导航属性的相关数据会自动获得。这产生了多次访问数据库,一次是实体数据读取,一次是导航属性读取。

2.Eager loading

      当实体读取时,相关数据也一起读取,使用Include方法实现。这是通过join数据表,查询获取需要的数据。

3.Explicit loading

      当你访问导航属性时,相关数据不会自动获取。你需要在代码中显式获取相关数据。

    Lazying loading和Explicit  Loading都称为延迟加载。

4.讨论

 

演练5-4:Contoso大学校园管理系统4