私のjoin linq式は次のようなものです
var kycKist = (from aloc in this._classesDataContext.tblUsers
join sup in this._classesDataContext.BR_Supervisors on aloc.SupId equals sup.Id
where
(aloc.UserTypesId == 1 &&
((aloc.CreatedOn <= attendanceDate && aloc.ModifyOn >= attendanceDate &&
aloc.Active == false) ||
(aloc.Active == true && aloc.CreatedOn <= attendanceDate &&
aloc.ModifyOn <= attendanceDate)))
select
new
{
sup.Name,
sup.Region,
sup.Area,
sup.Distribution_Name,
sup.BR_Alloc,
sup.Active
}).ToList();
今、上記のコードで外部結合を作成したい
left outer join atn in this._classesDataContext.BR_Attendence on sup.ID equals atn.SupId where atn.date =attendanceDate
私のドラフトコードは次のようになります
var kycKist = (from aloc in this._classesDataContext.tblUsers
join sup in this._classesDataContext.BR_Supervisors on aloc.SupId equals sup.Id
left outer join atn in this._classesDataContext.BR_Attendence on sup.ID equals atn.SupId where atn.date =attendanceDate
where
(aloc.UserTypesId == 1 &&
((aloc.CreatedOn <= attendanceDate && aloc.ModifyOn >= attendanceDate &&
aloc.Active == false) ||
(aloc.Active == true && aloc.CreatedOn <= attendanceDate &&
aloc.ModifyOn <= attendanceDate)))
select
new
{
Present=(atn!=null)?atn.PresentBR:0,
sup.Name,
sup.Region,
sup.Area,
sup.Distribution_Name,
sup.BR_Alloc,
sup.Active
}).ToList();
上記の左外部結合を実装する方法は?