C#のクエリを使用して2つのデータテーブルを結合しようとしています。
2つのデータテーブルがCrops
ありHailGridLatLon
ます。
作物には、列、、、、が含まれhail_grid_id
ます。 value
count
year
HailGridLatLon
列、、hail_grid_id
をlat
含みますlon
。
データテーブルのそれぞれに対応するlat
とのlon
値を抽出する必要があります。hail_grid_id
Crops
私の問題は、結合クエリを実行した後、緯度と経度の結果の値をデータテーブルの新しい列に保存する必要があること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時間以上かかります。