0
我想在Linq to Sql查詢中使用兩個或多個表執行左連接,但是看起來在C#中沒有這樣做的關鍵字。有沒有什麼辦法像我們使用Linq to Sql進行內部連接一樣執行左連接?如何使用LInq中的兩個或多個表執行左連接以查詢Sql?
public IQueryable GetProducts(int productID)
{
var products =
from p in this.Products
left join c in this.ProductCategoryProducts
on p.CategoryID equals c.ProductCategoryID
left join ac in this.ProductCategories
on c.ProductCategoryID equals ac.ProductCategoryID
where p.ProductID == productID
select new
{
ProductID = a.ProductID,
Heading = p.Heading,
Category = ac.ProductCategory
};
return products ;
}
'DefaultIfEmpty()'是招左外Linq中的聯接。看到這個http://msdn.microsoft.com/en-us/library/bb397895.aspx – 2014-09-19 13:31:50
檢查這個答案是一個很好的解釋組加入http://stackoverflow.com/a/15599143/2617732 – rdans 2014-09-21 10:53:14