Мне нужна помощь с запросом LINQ, который имеет несколько левых соединений.Это LINQ to EF4.Я написал SQL и преобразовал его в LINQ, не зная, что «соединение» в LINQ является внутренним соединением.Я просмотрел пример, но могу найти только примеры с одним левым соединением.Любая помощь очень ценится!
Вот SQL:
SELECT
s.FirstName, s.LastName, s.StakeholderID, op.ParticipantID, op.SchoolID, oc.CycleNumber,
st.SessionTypeID, st.SessionDescription, CONVERT(varchar(10),os.SessionDt,101) AS SessionDTrr,
os.OSStatus, oee.EvaluatorID
FROM
Stakeholders s LEFT JOIN ObservationParticipants op ON s.StakeholderID = op.StakeholderID
LEFT JOIN ObservationEvaluateeEvaluators oee ON op.ParticipantID = oee.EvaluateID
LEFT JOIN ObservationCycles oc ON oee.ObservationEvaluateeEvaluatorID = oc.ObservationEvaluateeEvaluatorID
LEFT JOIN ObservationSessions os ON oc.ObservationCycleID = os.ObservationCycleID
LEFT JOIN SessionTypes st ON os.SessionTypeID = st.SessionTypeID
WHERE
oee.EvaluatorID = evaluatorID
Вот LINQ, который я также преобразовал вышеупомянутое утверждение.Мне нужно, чтобы соединения были оставлены, хотя соединения.Кто-нибудь может помочь с преобразованием объединений в этом LINQ в оставленные объединения?
from s in Stakeholders
join op in ObservationParticipants
on s.StakeholderID equals op.StakeholderID
join oee in ObservationEvaluateeEvaluators
on op.ParticipantID equals oee.EvaluateID
join oc in ObservationCycles
on oee.ObservationEvaluateeEvaluatorID equals oc.ObservationEvaluateeEvaluatorID
join os in ObservationSessions
on oc.ObservationCycleID equals os.ObservationCycleID
join st in SessionTypes
on os.SessionTypeID equals st.SessionTypeID
where oee.EvaluatorID == evaluatorID
select new {
s.FirstName, s.LastName, s.StakeholderID,
op.ParticipantID, op.SchoolID, oc.CycleNumber,
st.SessionTypeID, st.SessionDescription, os.SessionDt,
os.OSStatus
}