同じ列を持つ 2 つのテーブルを結合したいのですが、質問があります。表 1 には、名前、姓の列、およびその他の多くの列があり、表 2 には、名前、コメント、およびその他の多くの列があります。それらを名前列に結合したいので、結果として名前、姓、コメント、およびその他の列にする必要があります。外側の左の 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"...
... ... ...
だから私は行を互いに連結しようとしました。しかし、テーブル 1 の配列はテーブル 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);