Tôi đang gặp một chút rắc rối với truy vấn trong LINQ to Entities mà tôi hy vọng ai đó có thể làm sáng tỏ :-) Điều tôi đang cố gắng làm là tạo truy vấn tham gia ba bảng.LINQ to Entities ba bảng tham gia truy vấn
Tính đến thời điểm này, nhưng vì bảng cuối cùng tôi đang cố gắng tham gia trống, kết quả của truy vấn không chứa bất kỳ bản ghi nào. Khi tôi xóa lần kết nối cuối cùng, nó sẽ cho tôi kết quả đúng.
truy vấn của tôi trông như thế này:
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
};
Những gì tôi muốn là để có được một số hồ sơ ngay cả khi bảng Winners là rỗng hoặc không có trận đấu trong đó.
Bất kỳ trợ giúp/gợi ý nào về điều này được đánh giá cao! :-)
Cảm ơn rất nhiều trước.
/Bo
Joel, điều đó thật tuyệt vời và sạch sẽ! Và nó hoạt động :-) cảm ơn rất nhiều. Bây giờ vào phần khó khăn: cả câu trả lời của bạn và cadrell0 thực sự đã giúp tôi, vì vậy mà câu trả lời để đánh dấu là chấp nhận? Chính sách về stackoverflow là gì? – bomortensen
Nếu tôi là người hỏi, tôi sẽ upvote cả hai và chấp nhận bất cứ điều gì tôi đã kết thúc bằng cách sử dụng. – cadrell0