首页 新闻 搜索 专区 学院

ef first-code

0
悬赏园豆:15 [待解决问题]

DbSet<T>的find方法是延迟加载的吗 还是一下全把导航属性加载完毕

fjqi1214的主页 fjqi1214 | 初学一级 | 园豆:181
提问于:2012-04-05 15:29
< >
分享
所有回答(2)
0

不是延迟加载。這個就是直接找到實體了。

無限遐想 | 园豆:3740 (老鸟四级) | 2012-04-05 15:37

他是把导航属性也一起加载进来的吗

支持(0) 反对(0) fjqi1214 | 园豆:181 (初学一级) | 2012-04-05 16:58

@fjqi1214: 應該是的。因為 他 返回的 是一個實體。

支持(0) 反对(0) 無限遐想 | 园豆:3740 (老鸟四级) | 2012-04-05 17:40
0

 

不会的,风马牛不相及的事情,延迟加载针对的是T的导航属性。

T的导航属性是否延迟加载要看:

(1)DbContext.Configuration.LazyLoadingEnabled 是否 true (缺省);

(2)T 是否为 public 并且 not sealed;

(3)T 的导航属性是否标为 virtual

只有上面条件满足才会延迟加载,如果没有延迟加载,还可以Eager Loading(姑且译为热切加载)和Explicit Loading(显式加载),如果这些都没有,那么 T.<导航属性>为null。

ChatinCode | 园豆:2272 (老鸟四级) | 2012-04-13 15:48
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册