我的数据集中有 3 个表
表 0 ,1, 2 分别有 id1 , id2 , id3 列
我怎样才能完全加入他们?
我在堆栈溢出中看到了很多问题,但它们只处理 2 个表。如果我有超过 2 张桌子,我怎么能做到这一点
像这样你可以试试
var data= (from t1 in db.table1
join t2 in db.table2 on t1.ID equals t2.ID into t1t2
from x in t1t2.DefaultIfEmpty()
join t3 in db.table3 on t1.ID equals t3.ID into t1t3
from y in t1t3.DefaultIfEmpty()
select new { t1.id, x.id, y.id})
var rowData =
from row1 in dsResults.Tables[0].AsEnumerable()
join row2 in dsResults.Tables[1].AsEnumerable()
on row1.Field<decimal>("RecordId") equals row2.Field<decimal>("RecordId2")
join row3 in dsResults.Tables[2].AsEnumerable()
on row1.Field<decimal>("RecordId") equals row3.Field<decimal>("RecordId3")
select row1.ItemArray.Concat(row2.ItemArray).Concat(row3.ItemArray).ToArray();