【发布时间】:2012-01-16 19:35:26
【问题描述】:
我在 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 表为空或其中没有匹配项,我想要获取一些记录。
非常感谢任何帮助/提示! :-)
非常感谢。
/博
【问题讨论】:
标签: linq entity-framework linq-to-entities