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
}
)