Linq2Entity从参考表中获取值

时间:2012-02-06 15:50:25

标签: linq reference entity

我有3张桌子

表:A  - 援助   - 文字

表:B  - 出价   - 文字

表:A_B(将两个主键都作为外键保存的引用表)  - 援助   - bID

实体框架知道表A_B只是一个参考表,并不在DBModel中创建它,而是保留表A和B中的引用。

我的问题是如何在不实际拥有此表的情况下获取参考表中的数据?当我尝试使用表A中的引用访问表B的值时,我无法得到表B Colums的值。

        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教授,.Net 4,Linq2Entity

1 个答案:

答案 0 :(得分:0)

正如Gary Said所说,你要么使用First(如果你想要每个A一个B),FirstOrDefault(如果你想要空的,那里没有B代表A)或SelectMany(如果你想要每个A的所有B) 后者可以这样写:

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