SQL: SELECT [t0].[ProductName], [t1].[TotalPrice] AS [TotalPrice] FROM [Product] AS [t0] LEFT OUTER JOIN [OrderDetail] AS [t1] ON [t0].[ProductID] = [t1].[ProductID] Linq Query: from p in Products join od in OrderDetails on p.ProductID equals od.ProductID into uio from o in uio.DefaultIfEmpty() select new { p.ProductName, o.TotalPrice } Linq Method: Products .GroupJoin ( OrderDetails, p => p.ProductID, od => od.ProductID, (p, uio) => new { p = p, uio = uio } ) .SelectMany ( temp0 => temp0.uio.DefaultIfEmpty (), (temp0, o) => new { ProductName = temp0.p.ProductName, TotalPrice = o.TotalPrice } )
Linq To SQL LEFT OUTER JOIN (Left Join)
原文:http://www.cnblogs.com/huangyoum/p/4617036.html