两个DataTable,外部连接在一个列上。 table2 [t2]的内容/列是常量。 table1 [t1]的内容/列是可变的,只有一个连接列是常量。
查询结果是t2中的常量列,加上t1中的变量内容:
var joined =
from t1 in Table1.AsEnumerable()
join t2 in Table2.AsEnumerable() on t1["customer_name"] equals t2["Client"]
into t1t2 from t2DR in t1t2.DefaultIfEmpty()
select new {
t1,
Firm = (t2DR == null) ? "N/A" : t2DR["Firm"].ToString(),
Primary = (t2DR == null) ? "N/A" : t2DR["Primary"].ToString(),
};
虽然我可以在t1中选择特定(变化)列,但我正在寻找如上所述的通用查询,其结果包含t1中的所有列以及为t2指定的列。类似于使用的东西:
joined.CopyToDataTable();
这将返回t1数据行中的所有列,以及t2中的那些列。
到目前为止,我发现的唯一方法是创建一个新的数据表,枚举t1数据行中的列,然后添加那些来自t2的列,然后将行添加到新表中。
还有其他方法可以实现吗?