How to perform left outer join in C# LINQ to objects without using join-on-equals-into clauses? Is there any way to do that with where clause? Corr
join-on-equals-into
where
Here is a fairly easy to understand version using method syntax:
IEnumerable outerLeft = lefts.SelectMany(l => rights.Where(r => l.Key == r.Key) .DefaultIfEmpty(new Item()) .Select(r => new JoinPair { LeftId = l.Id, RightId = r.Id }));