2012-04-04 62 views
1

我尝试做以下查询Linq中LINQ到SQL转换为SQL语法

SELECT * 
FROM Table1 T1 
INNER JOIN Table2 T2 
ON T1.ID = T2.AnotherID 
LEFT OUTER JOIN Table3 T3 
on T1.ID = T3.AnotherID 

它将按预期在适当的SQL语法,但我有一个很难将其转换成相应的Linq转换为SQL语法。

如何将左连接与内连接组合?

问候,

回答

8
var results = from t1 in Table1 
    from t2 in Table2 
    where t1.ID = t2.AnotherID 
    join t3 in Table3 on t1.ID equals t3.AnotherID into joined 
    from j in joined.DefaultIfEmpty() 
    select new {t1, t2, t3 = j} 
+0

就像一个魅力。 – 2012-04-04 13:21:47