Linq JOIN合并了数据行和列的结果

时间:2014-02-25 15:13:42

标签: c# linq

两个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的列,然后将行添加到新表中。

还有其他方法可以实现吗?

0 个答案:

没有答案
相关问题