求教LINQ如何左连接变右连接或者相反?
现场查询,SQL中 a inner join B inner join C right join D 要改成 left join D 就对了
Linq:
from a in LinqDBContext.wbCheckList
from b in LinqDBContext.site
from c in LinqDBContext.onlineFiresystem
from d in LinqDBContext.firesystype
join e1 in LinqDBContext.wbCheckInfo on new { siteid = a.siteid, wbCheckId=a.wbCheckId, tiSysType=d.tiSysType } equals new { e1.siteid,e1.wbCheckId,e1.tiSysType }
where a.siteid == b.siteid && b.orgid == orgid && b.siteid == c.siteid && c.tiSysType == d.tiSysType
select new
{
c.MaintenanceId,
d.tiSysType,
d.vSysdesc,
State = (from e in LinqDBContext.wbCheckInfo where a.siteid == e.siteid && a.wbCheckId == e.wbCheckId && e.tiSysType == d.tiSysType select e.tiSysType).Count() == 0 ? "未完成" : "已完成",
e1.wbCheckId,
e1.wbCheckResult,
e1.wbProblemRemaks,
e1.wbId,
e1.YnHanding,
e1.Handingimmediately,
e1.siteid,
PicUrl = from f in LinqDBContext.wbCheckPic where e1.wbCheckId == f.wbCheckId && e1.siteid == f.siteid && e1.tiSysType == f.tiSysType select URL + f.PicUrl
};
这查询出来得结果和 SQL 中 right join一样,那如何改成SQL left查询?