如何在ef中创建多个连接?

时间:2014-01-18 23:50:27

标签: entity-framework

我的数据库中有3个表,其中2个表中有另外一个表。

如何在实体框架工作(版本5或6,数据库优先)中创建此2连接?

tbl1
-----------
tbl1ID
tbl1name                                           tbl3
                                                   -----------
                                                    tbl3ID
        ---inner join on tbl1ID and tbl2ID --->     tbl1ID       
                                                    tbl2ID
                                                    tbl3name
tbl2
-----------
tbl2ID
tbl2name

我想要这个结果:

  result (columns)
  --------------------
  tbl1ID
  tbl2ID       
  tbl3ID
  tbl1name
  tbl2name
  tbl3name

2 个答案:

答案 0 :(得分:3)

以下代码段可能会对您有所帮助:

(from c in db.tbl1
join d in db.tbl3 on c.tbl1ID equals d.tbl1ID
join e in db.tbl2 on d.tbl2ID equals e.tbl2ID
select new { c.tbl1ID, d.tbl2ID, e.tbl3ID, c.tbl1Name, d.tbl2Name, e.tbl3Name}).ToList();

答案 1 :(得分:0)

如果您正在使用实体框架,那么您不需要使用连接,您可以直接从tbl3对象访问结果。使用以下:

tbl3.tlb1.tbl1ID
tbl3.tbl2.tbl2ID
tbl3ID,
tbl3.tlb1.tbl1name,
tbl3.tbl2.tbl2name,
tbl3name