是否真的有可能在连接语句上引发 NullReferenceException
,即使它具有 DefaultIfEmpty()
代码?
var getWorkerList = (from a in workerList
join ps in db.ProjectStatus on a.StatusId equals ps.StatusId into hjps
from ps in hjps.DefaultIfEmpty()
join psc in db.StatusColor on ps.StatusCode equals psc.StatusCode into hjpsc
from psc in hjpsc.DefaultIfEmpty()
join lu in db.LOOKUPS on psc.StatusColorID equals lu.LOOKUPS_ID into hjlu
from lu in hjlu.DefaultIfEmpty()
select new WorkerModel()
{
FullName = a.FullName
,Color = lu.LOOKUPS_Code
}).OrderBy(a => a.WorkerId).ToList();
这是我得到 NullReferenceException
错误的地方:
join lu in db.LOOKUPS on psc.StatusColorID equals lu.LOOKUPS_ID into hjlu
from lu in hjlu.DefaultIfEmpty()
添加此连接语句时出现错误。请帮忙。
最佳答案
.DefaultIfEmpty()
如果原始源为空,则返回具有单个默认值的序列。
它仍然会抛出空引用异常,如果原始源为空。
关于c# - 使用 DefaultIfEmpty 加入 LINQ 仍然导致 NullReferenceException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55019297/