【问题标题】:LINQ join with multiple conditions of different kindLINQ 加入多种不同类型的条件
【发布时间】:2015-07-03 15:35:38
【问题描述】:

我正在尝试将以下 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 获得相同的结果?

【问题讨论】:

标签: c# linq


【解决方案1】:

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

【讨论】:

  • 我认为它不能在 C# &lt;&gt; 中编译;)
【解决方案2】:

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

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

【讨论】:

    猜你喜欢
    • 2018-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-30
    • 1970-01-01
    • 2011-03-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多