从引用表获取值的LINQ2实体

从引用表获取值的LINQ2实体,linq,reference,entity,Linq,Reference,Entity,我有三张桌子 表:A -援助 -正文 表:B -出价 -正文 表:A_B(将两个主键作为外键保存的参考表) -援助 -出价 实体框架知道表A_B只是一个引用表,它不在DBModel中创建,而是将引用保留在表A和B中 我的问题是如何在没有这个表的情况下获得参考表中的数据?当我试图使用表A中的引用访问表B的值时,我无法获得表B列的值 ObjectQuery<A> aTable = dbConnection.A; var result = from dat

我有三张桌子

表:A -援助 -正文

表:B -出价 -正文

表:A_B(将两个主键作为外键保存的参考表) -援助 -出价

实体框架知道表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 aTable=dbConnection.A;
var结果=来自aTable中的数据
其中data.aID='12'
选择数据//B是表A中表B的参考
我需要的是:

        ObjectQuery<A> aTable = dbConnection.A;

        var result = from data in aTable
        where data.aID = '12'
        select data.B.bID;
ObjectQuery aTable=dbConnection.A;
var结果=来自aTable中的数据
其中data.aID='12'
选择data.B.bID;
如何使用表A和表B之间的引用从表B中获取数据


使用:VS 2010 Prof.Net 4,Linq2Entity正如Gary所说,您可以使用First(如果您希望每个A有一个B),FirstOrDefault(如果您希望在A没有B的情况下使用null)或选择Many(如果您希望每个A都有所有B) 后者可以这样写:

 var result = from data in dbConnection.A
              from b in data.B
              select b.Id;

你不能手动加入表格吗?听起来像是多对多。然而,您试图访问
出价
,就好像这是一个多对一的关系。A对B的引用将是一个集合(正如B对A的引用一样)。如果A.aId='12'只需要一个B,则可以使用
选择data.B.First().bId
。否则,您可能需要查看
选择多个
。嘿,伙计们,谢谢你们的想法!我想要的是tec地精的想法!你知道我最近的问题吗?这是我最新问题的解决办法