Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将联接查询的输出保存到datatable_C#_Join_Datatable - Fatal编程技术网

C# 将联接查询的输出保存到datatable

C# 将联接查询的输出保存到datatable,c#,join,datatable,C#,Join,Datatable,我正在尝试使用C#中的查询连接两个数据表 我有两个数据表,Crops和HailGridLatLon 作物包含列hail\u grid\u id,value,count,year HailGridLatLon包含列HAILGRIDID,lat,lon 我需要提取Crops数据表中每个hail\u grid\u id对应的lat和lon值 我的问题是,在执行连接查询之后,我需要将纬度和经度的结果值保存到Cropsdatatable中的新列中。我发现的关于连接查询和select子句的所有内容只会将结果

我正在尝试使用C#中的查询连接两个数据表

我有两个数据表,
Crops
HailGridLatLon

作物包含列
hail\u grid\u id
value
count
year

HailGridLatLon
包含列
HAILGRIDID
lat
lon

我需要提取
Crops
数据表中每个
hail\u grid\u id
对应的
lat
lon

我的问题是,在执行连接查询之后,我需要将纬度和经度的结果值保存到
Crops
datatable中的新列中。我发现的关于连接查询和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”,但有没有办法将其转换为任何其他变量类型,最好是数据表


p、 我知道嵌套for循环可以实现这一点,但这些表非常庞大,这样的方法需要24小时以上才能完成。

您能否编写一个在数据库级别连接这两个表的查询?这可能是将来的一个选项,然而,其中一个数据库尚未完成,我正在尝试编写一些代码来执行必要的分析,以便在数据库最终确定后可以继续使用。因此,我的强烈偏好是找出一种用c#实现的方法。我喜欢我正在尝试的join方法,因为它对大量数据运行得非常快,但绝对必须能够以这样一种方式存储联接表,即可以使用存储的值执行计算。