[英]Lazy loading with EF 5 Database first
我的数据库中有三个表:
我正在使用带有EF 5的ASP.NET MVC 4,并且我的Post模型(自动生成)如下所示:
public partial class BlogPost
{
public BlogPost()
{
this.Tags = new HashSet<Tag>();
}
...
public virtual Author Author { get; set; }
public virtual ICollection<Tag> Tags { get; set; }
}
我的上下文和dbSet已定义。 我正在尝试使用此查询获取数据库中的所有帖子
dbSet.ToList()
我以为Author可以为null,Tags可以为空,因为我没有使用Include()
来使用紧急加载。 但是,如果我进行调试,则会发现Author不为null,并且Tag具有两个元素。 我不明白为什么。
在Tag实体中,我获得了一个导航属性,以获取所有包含该Tag的帖子。 看起来好像正在填充所有数据...但是当我测试页面时,我没有注意到任何性能问题,它加载非常快。
也许这不是一个错误...我只是错过了什么吗?
请检查以下答案 :
延迟加载意味着当您首次访问集合或导航属性时,实体将自动加载,并且透明地进行,就像它们总是被父对象加载一样。
当您指定要查询的属性时,使用“ include”按需加载。
希望这可以帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.