LINQ连接具有多种不同类型的条件

时间:2015-07-03 15:35:38

标签: c# linq

我正在尝试将以下T-SQL查询转换为LINQ:

SELECT  * FROM  table_A JOIN table_B ON table_A.key = table_B.key AND
                                table_A.Trouble <> table_B.Trouble

Stackoverflow已经满了类似的问题,但在我的情况下有两个条件,但每个条件都有不同的运算符(“等于”和“不等于”)。有没有办法使用LINQ获得相同的结果?

2 个答案:

答案 0 :(得分:3)

您不能使用join语法,必须使用where子句连接两个

var query = from a in table_A
            from b in table_B
            where a.key = b.key &&
                  a.Trouble != b.Trouble
            select new { a, b };

答案 1 :(得分:0)

您也可以编写此查询。应该快速工作

var query = from a in table_A
            from b in table_B.where(x=>x.key==a.key && x.Trouble != a.Trouble)
            select new { a, b };