【发布时间】:2012-02-06 15:50:25
【问题描述】:
我有 3 张桌子
表:A - 援助 - 文字
表:B - 投标 - 文字
表:A_B(将两个主键都保存为外键的参考表) - 援助 - 出价
Entity Framework 知道表 A_B 只是一个引用表,不会在 DBModel 中创建它,而是保留表 A 和 B 中的引用。
我的问题是如何在没有实际拥有该表的情况下获取参考表中的数据?当我尝试使用表 A 中的引用访问表 B 的值时,我无法获得表 B 列的值。
ObjectQuery<A> aTable = dbConnection.A;
var result = from data in aTable
where data.aID = '12'
select data.B; //B is the reference to table B out of table A
我需要的是这样的:
ObjectQuery<A> aTable = dbConnection.A;
var result = from data in aTable
where data.aID = '12'
select data.B.bID;
如何使用表 A 和表 B 之间的引用从表 B 中获取数据?
使用:VS 2010 Prof,.Net 4,Linq2Entity
【问题讨论】:
-
不能手动加入表格吗?
-
这听起来像是多对多。然而,您正试图访问
bId,就好像它是多对一关系一样。 A 对 B 的引用将是一个集合(B 对 A 的引用也是如此)。如果您只期望 A.aId = '12' 有一个 B,您可以使用select data.B.First().bId。否则你可能想看看SelectMany。