首页 新闻 会员 周边 捐助

LINQ 多表加载

0
悬赏园豆:50 [待解决问题]
我现在有四个表,分别是A\B\C\D.
A是主表
BCD分别引用A的。
现在我想加载A所以记录,也一起加载A对应的BCD。。
我使用了:
loadOpations.LoadWith<A>(bt => bt.B);
loadOpations.LoadWith<A>(bt => bt.C);
loadOpations.LoadWith<A>(bt => bt.D);
现在有个问题,A和B生成一条连接的SQL语句。
C和D分别是*以A的记录数据,假如A有30条记录。那么SQL语句是C*30+D*30
加上面的B一共61条。我现在必须一次性加载,请问有什么方法吗?这样效率很低。
问题补充: 我的意思是说,我现在这样写。但LINQ成生了61条查询的语句了。我想问有没有其他方法减少对数据的访问。
风无情的主页 风无情 | 初学一级 | 园豆:150
提问于:2010-09-27 09:42
< >
分享
所有回答(1)
0

一次性加载, 这样做就可以啊,效率不低啊,就算你自己些SQL语句也同样是读取这么多数据的。 这样只要访问一次数据库就把所有的要查询的数据加载了, 访问数据库才是高代价的操作。参考这里: http://msdn.microsoft.com/zh-cn/library/system.data.linq.dataloadoptions.loadwith.aspx

 

那你就 用多表查询了。

HUHU慈悲 | 园豆:9973 (大侠五级) | 2010-09-27 10:23
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册