首页 新闻 会员 周边

EF的Include

0
悬赏园豆:50 [已解决问题] 解决于 2015-03-28 20:16

表结构:

主表A:id,导航属性集合Cs

主表B:id

关联表C:id,Aid,Bid,导航属性A、B。

 

现在需要:

查询表A,获得IQuerable<A>

 

问题1:

通过Include(x=>x.Cs)获得关联的子集合(是否有效)

问题2:

假如问题1有效(否则,似乎没意义),是否可以:

通过Include获得C对应的B?即类似(伪码):IQuerable<A>.Include(x=>x.Cs).Include(x=>Cs.B)

 

谢谢。

 

参见问题:EF的缓存机制

导致性能的问题,通过MiniProfiller跟踪,发现是SQL调用过多导致的。

再把一些必要的数据Cache后,性能有很大的改善,但是,原本计划使用的EF缓存机制,却没起到作用。

519740105的主页 519740105 | 大侠五级 | 园豆:5810
提问于:2015-03-13 18:40
< >
分享
最佳答案
0

问题解决:Lazy模式,Include不起作用,只有关闭Lazy模式后(去掉virtual或显式关闭Lazy模式)则Include有效。

 

只是,想找一个兼容的模式,使用Include的时候,使用Include的,未显式使用Include,又未关闭Lazy能使用Lazy模式,如果能这样就好了。

 

EF的进一步优化在继续ing。

519740105 | 大侠五级 |园豆:5810 | 2015-03-16 15:35
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册