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

本文关键字:同类型 条件 LINQ | 更新日期: 2023-09-27 18:00:55

我正在尝试将以下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充满了类似的问题,但在我的情况下有两个条件,但每个条件都有不同的运算符("等于"answers"不等于"(。有没有任何方法可以使用LINQ获得相同的结果?

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

不能使用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 };

您也可以编写此查询。它应该工作得很快

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 };