Код: Выделить всё
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)
Код: Выделить всё
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();
Я просмотрел следующие существующие вопросы, но ни один из них не решил мою проблему с написанием правильной лямбды. И большинство решений не имеют лямбда-формата или не имеют левого внешнего соединения для нескольких столбцов.
Как выполнять соединения в LINQ для нескольких полей в одном соединении.
LINQ to SQL — левое внешнее соединение с несколькими условиями соединения.
Группировка. Используя более двух столбцов по лямбда-выражению.
И большинство из них из этого поиска Google.>
Подробнее здесь: https://stackoverflow.com/questions/504 ... mns-compos
Мобильная версия