[英]Getting null reference error in linq expression when trying to join more than 2 tables using defaultifempty method
我试图使用defaultIfEmpty离开联接三个表,如果第二个表中没有匹配项,则分配空值,然后我使用第二个表值联接第三个表。
var test = (from Eqpt in Eqpts
join SystemEqpt in FleetSysEqpt on SystemEqpt.ID equals eqpt.SwCompanyEqptKey into sysEqptTemp
from a in sysEqptTemp.DefaultIfEmpty()
join System in System on a.SwFleetSystemKey equals System.ID
)
当“ a”为空时,我收到空对象引用错误。 加入时检查“ a”是否为空的任何建议。
您只需要添加一个where
条件
var test = (from Eqpt in Eqpts
join SystemEqpt in FleetSysEqpt on SystemEqpt.ID equals eqpt.SwCompanyEqptKey into sysEqptTemp
from a in sysEqptTemp.DefaultIfEmpty()
join System in System on a.SwFleetSystemKey equals System.ID
where a != null
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.