我在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