LINQ to Entities three table join query

У меня небольшие проблемы с запросом в Linq to Entities, на которые, надеюсь, кто-нибудь сможет пролить свет :-) Я пытаюсь создать запрос, который объединяет три таблицы.

Пока все работает, но поскольку последняя таблица, к которой я пытаюсь присоединиться, пуста, результат запроса не содержит ни одной записи. Когда я удаляю последнее соединение, он дает мне правильные результаты.

Мой запрос выглядит так:

var query = from p in db.QuizParticipants
            join points in db.ParticipantPoints on p.id 
            equals points.participantId into participantsGroup
            from po in participantsGroup
            join winners in db.Winners on p.id 
            equals winners.participantId into winnersGroup
            from w in winnersGroup
            where p.hasAttended == 1 && p.weeknumber == weeknumber
            select new
            {
                ParticipantId = p.id,
                HasAttended = p.hasAttended,
                Weeknumber = p.weeknumber, 
                UmbracoMemberId = p.umbMemberId,
                Points = po.points,
                HasWonFirstPrize = w.hasWonFirstPrize,
                HasWonVoucher = w.hasWonVoucher                                    
            };

Я хотел бы получить несколько записей, даже если таблица Winners пуста или в ней нет ни одного совпадения.

Любая помощь/подсказка по этому вопросу будет очень признательна! :-)

Заранее большое спасибо.

/ Bo

5
задан bomortensen 16 January 2012 в 19:35
поделиться