我在LINQ查詢中遇到了點麻煩,希望有人可以點亮一下:-)我在做的是創建一個連接查詢三張桌子。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
};
我想是什麼讓一些記錄,即使優勝者表是空的或在它裏面不匹配。
任何幫助/提示對此非常感謝! :-)
非常感謝。
/博
喬爾,那真棒,乾淨!它的工作原理:-)非常感謝。現在到了困難的部分:您的答案和cadrell0實際上對我有幫助,因此哪個答案被視爲已被接受?什麼是stackoverflow的政策? – bomortensen 2012-01-16 20:04:00
如果我是提問者,我會同時投票並接受我最終使用的那一個。 – cadrell0 2012-01-16 21:24:08