Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将此查询转换为具有左外部联接的linq_Linq_C# 4.0 - Fatal编程技术网

如何将此查询转换为具有左外部联接的linq

如何将此查询转换为具有左外部联接的linq,linq,c#-4.0,Linq,C# 4.0,在将此查询转换为linq时,我得到了不同的记录集。有人能帮我吗 select p.Id , p.lastname from Participants p left outer join CertificationStatusLevels c on p.CertificationStatusID = c.ID left outer join BUOrgs po on p.PrimaryOrgID = po.ID inner join participantR

在将此查询转换为linq时,我得到了不同的记录集。有人能帮我吗

select p.Id  , p.lastname    from Participants p
left outer  join  CertificationStatusLevels c on p.CertificationStatusID = c.ID
left outer           join   BUOrgs po on p.PrimaryOrgID = po.ID
inner   join participantRoles pr on  p.id= pr.ParticipantId
inner join roles Ro on pr.RolesId=Ro.id
where p.IsActive =1   and ro.id=4 and  pr.IsActive =1
质疑


如果LINQ查询不完整,还请包括您的错误尝试。另外,由于我看不到
c
po
的任何用法,所以不清楚为什么需要这些左外部联接(在两个查询中)。
from p in _unitOfWork.Context.Participants
join c in _unitOfWork.Context.CertificationStatusLevels on 
p.CertificationStatusID equals c.ID into pc
join po in _unitOfWork.Context.BUOrgs on p.PrimaryOrgID equals po.ID into bp
join pr in _unitOfWork.Context.ParticipantRoles on p.Id equals
pr.ParticipantId
join ro in _unitOfWork.Context.Roles on pr.RolesId equals ro.Id
from Combined1 in pc.DefaultIfEmpty()
from Combined2 in bp.DefaultIfEmpty()