LINQ - 多个表格

时间:2011-03-29 20:04:28

标签: linq-to-sql

表1

TID:

TNAME:

TDESC:

表2:

AID:

ANAME:

ADESC:

表3

TID:

AID:

如何通过在表1中传递TNAME来编写Linq查询以获取table2的列表:

请帮忙!

2 个答案:

答案 0 :(得分:5)

假设您的数据库中有正确的FK关系,只需键入

即可
 from t2 in context.table2s
 where t2.table3.table1.TNAME == "SomeName"
 select t2

修改
如果您的数据库中没有foreigns,您可以通过在DBML设计器中绘制关系来“欺骗”,或者您需要求助于显式连接

from t2 in context.table1s
join t3 in context.table3s 
    on t2.AID equals t3.AID
join t1 in context.table1s 
    on t3.TID equals t1.TID
where t1.TNAME == "SomeName"
select t2

答案 1 :(得分:1)

您需要使用加入。像这样的东西

from t1 in db.Table1
join t2 in db.Table2 on t1.field equals t2.field
select new { t1.field2, t2.field3}

plz,chek LinqJoin