0

C#のクエリを使用して2つのデータテーブルを結合しようとしています。

2つのデータテーブルがCropsありHailGridLatLonます。

作物には、列、、、、が含まれhail_grid_idます。 valuecountyear

HailGridLatLon列、、hail_grid_idlat含みますlon

データテーブルのそれぞれに対応するlatとのlon値を抽出する必要があります。hail_grid_idCrops

私の問題は、結合クエリを実行した後、緯度と経度の結果の値をデータテーブルの新しい列に保存する必要があることCropsです。結合クエリとselect句に関して私が見つけたものはすべて、結果をコンソールに出力するだけで、保存することはありません。

これが私が実行しているクエリコードです:

var results = from table1 in Crops.AsEnumerable()
                      join table2 in HailGridLatLon.AsEnumerable() on table1[0] equals table2[0]
                      select new
                      {
                          hail_grid_id = table1[0], value = table1[1], count = table1[2], year = table1[3], latitude = table2[1], longitude = table2[2]
                      };

画面に値を出力するには、次のループが必要になることを知っています。

foreach (var item in results)
        {
            Console.WriteLine(String.Format("{0} {1} {2} {3} {4} {5}", item.hail_grid_id, item.value, item.count, item.year, item.latitude, item.longitude));
        }

しかし、私が言ったように、緯​​度と経度をデータテーブルに追加できるように保存する必要があります。または、結果に保存されている情報を新しいデータテーブルに保存することもできます。これを行う方法はありますか?基本的にオブジェクトタイプ「results」があるようですが、これを他の変数タイプ、できればデータテーブルに変換する方法はありますか?

psこれはネストされたforループで実行できることは知っていますが、これらのテーブルは巨大であり、そのようなメソッドは完了するのに24時間以上かかります。

4

0 に答える 0