【发布时间】:2012-10-20 20:00:00
【问题描述】:
我有一个问题,想加入 2 个具有相同列的表。表 1 有 Name、LastName 列和许多其他列,表 2 有 Name、Comment 和许多其他列。我想将它们与名称列一起加入,结果应该是名称、姓氏、评论和其他列。我尝试使用左外 Linq,但不知道如何编写 select new,因为不知道我还有多少其他列。
我的表 1:
Name1 LastName ...
Niki Row ...
Hube Slang ...
Koke Mi ...
... ... ...
... ... ...
表 2:
Name Comment ...
Koke "Hello" ...
Niki "Hi" ...
结果应该是:
Name LastName Comment ...
Niki Row "Hi" ...
Hube Sland ...
Koke Mi "Hello"...
... ... ...
所以我尝试将这些行相互连接。但是它说table1中的数组比table 2中的数组长。还有其他方法可以加入吗?
foreach (DataRow tbE in Table1.Rows)
{
foreach (DataRow opT in Table2.Rows)
{
if (tbE["Name"].ToString() == opT["Name"].ToString())
{
var row = Result.NewRow();
row.ItemArray = tbE.ItemArray
.Concat(opT.ItemArray).ToArray();
Result.Rows.Add(row);
}
else
Result.ImportRow(tbE);
}
}
Result.Columns.Remove(Name);
【问题讨论】: