Ako urobiť tento výraz ako LEFT JOIN
var query = order.Items.Join(productNonCriticalityList,
i => i.ProductID,
p => p.ProductID,
(i, p) => i);
odpovede:
16 pre odpoveď č. 1A to je komplikovanejší spôsob, ako používať lambda výrazy na zápis:
order.Items
.GroupJoin (
productNonCriticalityList,
i => i.ProductID,
p => p.ProductID,
(i, g) =>
new
{
i = i,
g = g
}
)
.SelectMany (
temp => temp.g.DefaultIfEmpty(),
(temp, p) =>
new
{
i = temp.i,
p = p
}
)
7 pre odpoveď č. 2
Odporučil by som prepnutie na from
syntax a môžete použiť into
kľúčových slov.
Robí to isté ako syntax metódy a je oveľa čitateľnejšia (IMO).
(from l1 in myFirstDataSet
join l2 in mySecondDataSet on l1.<join_val> equals l2.<join_val> into leftJ
from lj in leftJ.DefaultIfEmpty()
where <your_where_clause>
select <something>).ToList();