我正在尝试基于ID
列加入两个数据表,但我的问题是我的数据表之一根据请求具有可变列数。
First DataTable(这将始终具有固定数量的列) -
ID Int,
firstCol Varchar,
SecondCol Varchar
第二个DataTable(根据请求,它可以有不同数量的列) -
ID Int,
dynamicCol1 varchar,
dynamicCol2 varchar,
dynamicCol3 varchar,
// More or less columns depending on request
现在我想加入这两个数据表,如果可能的话,应该以dataTable的形式返回结果,包括两个表中的所有列。
结果表或可枚举数据列表 -
ID Int,
firstCol Varchar,
SecondCol Varchar
dynamicCol1 varchar,
dynamicCol2 varchar,
dynamicCol3 varchar,
// More or less columns depending on request
我尝试跟随linq
加入这些表,但我不确定如何从两个表中选择所有列。我试过跟随linq,
//submissionData - First datatable
//responseData - Second datatable
Dim resultData = From subData In submissionData.AsEnumerable()
Join resData In responseData.AsEnumerable()
On subData.Field(Of Integer)("ID") Equals resData.Field(Of Integer)("ID")
Select result = {resData, subData}
// Understandably this returns list of set of data rows separately. Which I have to flatten using more code.
我的问题是我select
得到了我想要的结果
Select result = {// what should do here to get the desired result instead of getting my result which needs more code to flatten it out}
我当然可以编写更多代码并压缩我现在得到的结果但是我想知道是否有更好的方法来获得这个结果,因为我对Linq没有足够的知识。 任何指针/帮助将非常感激。基于C#的帮助也将起作用。如有任何混淆查询,请随时发表评论。提前谢谢。