2015-07-03 55 views
2

我想下面的T-SQL的查询翻译成LINQ:LINQ加入不同种类的多个条件

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

#2是完全有类似的问题,但对我来说有两个条件,但每个他们有不同的运营商(“等于”和“不等于”)。有什么方法可以使用LINQ获得相同的结果吗?

+0

Linq to SQL/LINQ to entities? – Habib

+1

请参阅:http://stackoverflow.com/questions/10642421/using-equal-and-not-equal-in-a-linq-join – Habib

回答

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

我认为它不编译在C#'<>';) – Dzienny

+0

@ Dzienny - 赶上!谢谢 – Aducci

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