当前位置:  开发笔记 > 数据库 > 正文

linq to sql会自动延迟加载关联实体吗?

如何解决《linqtosql会自动延迟加载关联实体吗?》经验,为你挑选了1个好方法。

linq to sql会自动延迟加载关联实体吗?

我认为它会,但我找不到一篇文章陈述它.



1> James Curran..:

这取决于你如何定义"懒惰负载".

如果你说

var person = (from p in db.People 
              where p.PersonId = pid 
              select p).First();
var spouse = person.Spouse;   // based on the SpouseId FK 
                              // back into the People table.

然后,这将是"懒惰加载",因为第二个对象在被引用之前不会从数据库中拉出.但是,这将需要两个数据库查询.

但是,如果你要说,

var family = (from p in db.People
              where p.PersonId = pid 
             select new 
              { 
                 Name = p.Name, 
                 SpouseName = p.Spouse.Name
              }).First();

然后,Linq将自动执行连接并从单个数据库查询中的两个记录中加载信息.

推荐阅读
臭小子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有