我有Corporates
和EmployeeEvaluations
个EF课程。我正在执行左外连接,当我使用LINQ语句来获取count
时,即使我检查null,我也收到以下错误:
对象引用未设置为对象的实例。
CompanyBO result = new CompanyBO();
try
{
using (CompEntities db = new CompEntities())
var res = await(from c in db.Corporates
join ee in db.EmployeeEvaluations on esj.Id equals
ee.EmployeeId into eels
from eelsj in eels.DefaultIfEmpty()
select new { corp = c, empEvals = eelsj }
).ToListAsync();
result.Qualified = res.Where(a => a.empEvals.EvaluationStatusId != null).Count(a => a.empEvals.EvaluationStatusId == 3);
}
答案 0 :(得分:3)
在Where
方法中尝试使用此条件:
result.Qualified = res.Where(a => a.empEvals != null).Count(a => a.empEvals.EvaluationStatusId == 3);
问题是,如果eels
为空,那么您将在null
中获得empEvals
值,这就是您需要检查匿名类型中的该属性是否为{{1}的原因或者不在你的上一个查询中,