在多列LINQ上左连接数据表

时间:2014-01-07 22:16:05

标签: c# linq datatable left-join

如何基于多列将加入的2个数据表与Join连接?

我正在使用C#。

在这里找到了一些解决方案:Left Outer on two columns LINQ但是出现编译时错误。

dtblLeft:

id   col1   col2      
 1    1      S1
 2    1      any2
 3    2      S2
 4    3      S3
 5    3      any2
 6    5      any2
 7           any2

dtblRight:

col1   col2       Result
 1      S1        ConfigValue1
 2      S2        ConfigValue12
 3      S3        ConfigValue13
 4      S4        ConfigValue14

需要对col1和col2值进行左连接。

结果

id   col1   col2     Result 
 1    1      S1      ConfigValue1
 2    1      any2    
 3    2      S2      ConfigValue2
 4    3      S3      ConfigValue3
 5    3      any2
 6    5      any2
 7           any2

答案建议How to do joins in LINQ on multiple fields in single join

var result = from x in entity
             join y in entity2
             on new { x.field1, x.field2 } equals new { y.field1, y.field2 }

如果我将它与DataTable一起使用,如

var result = from x in entity
             join y in entity2
             on new { x[field1], x[field2] } equals new { y[field1], y[field2] }

给出了编译错误。

0 个答案:

没有答案