Code: Select all
SELECT * FROM participants
LEFT OUTER JOIN prereg_participants ON prereg_participants.barcode = participants.barcode
AND participants.event_id = prereg_participants.event_id
WHERE (participants.event_id = 123)
Code: Select all
var dnrs = context.participants.GroupJoin(
context.prereg_participants,
x => x.barcode,
y => y.barcode,
(x, y) => new { deelnr = x, vi = y })
.SelectMany(
x => x.vi.DefaultIfEmpty(),
(x, y) => new { deelnr = x, vi = y })
.Where(x => x.deelnr.deelnr.event_id == 123)
.ToList();
Ich habe mir die folgenden vorhandenen Fragen angesehen, aber keine hat mein Problem beim Schreiben des richtigen Lambda gelöst. Und die meisten Lösungen liegen nicht im Lambda-Format vor oder sind kein Left Outer Join für mehrere Spalten.
So führen Sie Joins in LINQ für mehrere Felder in einem einzelnen Join durch
LINQ to SQL – Left Outer Join mit mehreren Join-Bedingungen
Gruppieren durch Verwendung von mehr als zwei Spalten nach Lambda-Ausdruck
Und die meisten davon aus dieser Google-Suche
Mobile version