2012-04-04 5 views
1

Я пытаюсь сделать следующий запрос в LinqLinq для 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 to 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

работает как шарм. –

Смежные вопросы