2015-06-19 178 views
0

我使用實體框架6.1.1和我有加入一個表對另一個select語句的查詢:實體框架連接表對查詢

SELECT * 
FROM Table1 T1 
LEFT OUTER JOIN (SELECT * FROM Table2 WHERE Field = 123) AS T2 ON T1.Field = T2.Field 

是否有可能寫出像這樣使用實體框架的查詢語法?

回答

0

from t1 in Table1 
join t2 in Table2.Where(t => t.Field == 123) on t1.Field equals t2.Field into t2j 
select new { 
    T1 = t1, 
    T2 = t2j.DefaultIfEmpty(), 
} 

可以過濾Table2之前加入,然後使用組加入+ DefaultIfEmptyhttps://msdn.microsoft.com/en-us/library/bb397895.aspx

可以使用LINQ執行通過調用DefaultIfEmpty方法左外連接對一個組加入的結果。