表1:
LINQ - 多个表
TID:
TNAME:
TDESC:
表2::
AID:
ANAME:
ADESC:
表3
TID:
AID:
如何通过在表1中传递TNAME来编写Linq查询来获取table2的列表。:
请帮忙!
表1:
LINQ - 多个表
TID:
TNAME:
TDESC:
表2::
AID:
ANAME:
ADESC:
表3
TID:
AID:
如何通过在表1中传递TNAME来编写Linq查询来获取table2的列表。:
请帮忙!
您需要使用连接。像这样
from t1 in db.Table1
join t2 in db.Table2 on t1.field equals t2.field
select new { t1.field2, t2.field3}
PLZ,赤LinqJoin
假设你已经在数据库中正确的FK关系中,你只需要输入
from t2 in context.table2s
where t2.table3.table1.TNAME == "SomeName"
select t2
编辑
如果您还没有夷在你的数据库中,你可以通过在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
感谢您的回复,我的表格有以下关系: – user669803 2011-03-29 20:25:06
它只是与相应的ID相关,但查询不适用于我。 – user669803 2011-03-29 20:26:36
@ user669803,那么您需要在数据库中创建外键,或者至少在DBML设计器中创建外键,作为最后的解决方案,您可以像我更新的答案中那样明确加入。 – 2011-03-30 05:20:42
这里我有一个关联表,它只有TID,使用它我必须得到相应的TNAME,所以它不像多重连接。 – user669803 2011-03-29 20:28:29