表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