2

同じ ID 列を持つ 2 つのデータテーブルがあります。あるテーブルの 1 つの列の値を、別のテーブルの他の列の値で更新したいと考えています。例えば:

次の 2 つのテーブルがあります。

表1:

       ID         Name           Amount
     ------      -------        ---------
        1          AA             0
        2          BB             0
        3          CC             0

表 2:

       ID        Amount
     ------    ---------
        1        5000
        2        6000
        3        7000            

私の目的のデータテーブルは次のようになります。

目的のテーブル:

       ID         Name           Amount
     ------      -------        ---------
        1          AA             5000
        2          BB             6000
        3          CC             7000

for ループを使用したくありません。LINQ を使用してこの結果を達成するにはどうすればよいですか?

4

4 に答える 4

3

ここで、Table1 を「DTTable1」、Table2 を DTTable2 とします。

DTTable1.AsEnumerable().Join(DTTable2.AsEnumerable(), 
                     dt1_Row => dt1_Row.ItemArray[0],
                     dt2_Row => dt2_Row.ItemArray[0],
                     (dt1_Row, dt2_Row) => new { dt1_Row, dt2_Row }).ToList() 
                     .ForEach(o => o.dt1_Row.SetField(2, o.dt2_Row.ItemArray[1]));
于 2012-11-30T05:10:03.167 に答える
-1

join ステートメントを使用できます。

from item1 in table1
join item2 in table2 on item1.ID equals item2.ID
select new YourType { ID = item1.ID, Name = item1.Name, Amount = item2.Amount }
于 2012-11-28T12:26:44.143 に答える