Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.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
Vb.net 如何根据表中的ID将数据表中的列附加到另一个数据表中?_Vb.net_Linq_Datatable - Fatal编程技术网

Vb.net 如何根据表中的ID将数据表中的列附加到另一个数据表中?

Vb.net 如何根据表中的ID将数据表中的列附加到另一个数据表中?,vb.net,linq,datatable,Vb.net,Linq,Datatable,我正在基于一组查询构建一个表,这些查询将确定表中的列。这意味着列名将是动态的。每个查询都有一个id,我们使用它将正确的数据与正确的用户匹配 以下是数据的外观: 基表 子表 我使用的代码是 Dim tablesJoined = From t1 In dt1.AsEnumerable() Join t2 In flatTable.AsEnumerable() On t1.Field(Of String)("SHM_ID"

我正在基于一组查询构建一个表,这些查询将确定表中的列。这意味着列名将是动态的。每个查询都有一个id,我们使用它将正确的数据与正确的用户匹配

以下是数据的外观:

基表

子表

我使用的代码是

Dim tablesJoined = From t1 In dt1.AsEnumerable()
                   Join t2 In flatTable.AsEnumerable()
                   On t1.Field(Of String)("SHM_ID") 
                   Equals t2.Field(Of String)("SHM_ID")
但是,我想选择dt1的所有值,并将第二个表中的数据合并到其中。对于进一步的上下文,我将多次这样做,所以我不能只使用静态对象

有没有办法把这两张桌子优雅地放在一起

它看起来像这样:


也许您可以使用“选择新”和。。。()输出是什么样子的?您能否构建所需的表结构并将其放入您的问题中?
Datatable.Merge
?@N0Alias如果我提前知道所有列,则选择“新建”。但是,除非我弄错了,否则您正在使用该方法构建一个对象,您需要知道该对象的参数。有没有办法在查询中根据第一个数据表中的行构建对象?我不清楚您的要求,但您可以在这篇非LINQ MS支持文章中找到一些想法: