将SQL转换为Linq-To-SQL

时间:2013-11-16 18:36:35

标签: c# sql linq linq-to-sql

SELECT a.c1, a.c2, b.c1, b.c2
FROM tab1 a, tab2 b
WHERE a.a1 = b.a1 AND a.b1 = b.b2;

我需要帮助将上面的内容转换为Linq-To-Sql语法。 问题是 WHERE a.a1 = b.a1 AND a.b1 = b.b2

如果它只是一个条件,那很容易。

var myQry =
    from a in tab1
    join b in tab2 on a.a1 == b.a1

我需要帮助完成myQry!

1 个答案:

答案 0 :(得分:1)

您可以加入多个列,如下所示:

var myQry = 
    from a in tab1 
    join b in tab2 on new { a.a1, a.b1 } equals new { b.a1, b.b2 }
    select new { a.c1, a.c2, b.c1, b.c2 }

或者用流利的语法:

var myQuery = tab1.Join(tab2, 
                        a => new { a.a1, a.b1 }, 
                        b => new { b.a1, b.b2 },
                        (a, b) => new { a.c1, a.c2, b.c1, b.c2 });