【发布时间】:2009-08-11 11:28:40
【问题描述】:
我想在两个表之间创建一个连接,结果将包括所有两个表列。 我想在不指定特定列名的情况下执行此操作,只需选择全部,因为我不知道这两个表将包含多少列,也不知道它们的名称。
我只想在两个表之间创建联接,结果将包括两个表列。
我该怎么做? 结果类型应该是什么?
我试过了:
var res = from t1 in ds1.Tables["Table1"].AsEnumerable()
join
t2 in ds1.Tables["Table2"].AsEnumerable()
on t1.Field<string>("TrID") equals t2.Field<string>("TrID")
select new { t1, t2 };
但我得到一个奇怪的类型,结果我无法做任何事情,我无法将其转换为 dataTable、Dataset 或在 gridview 中呈现。
例如,获取一个包含 [TrID]、[SP]、[SP2] 列的表,而无需专门创建包含这三列的匿名类型:
表 1 三叉戟 阿萨夫1 阿萨夫2 F1 K2 阿萨夫1 D2 H1 F1
表2
三叉戟 SP2
Asaf1 Dor2
阿萨夫1 U1
R1 W1
I1 Y3
【问题讨论】:
标签: linq join linq-to-dataset