尝试获取计数时“对象引用未设置为对象的实例”错误

时间:2016-06-03 19:11:12

标签: c# entity-framework linq lambda

我有CorporatesEmployeeEvaluations个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);
}

1 个答案:

答案 0 :(得分:3)

Where方法中尝试使用此条件:

result.Qualified = res.Where(a => a.empEvals != null).Count(a => a.empEvals.EvaluationStatusId == 3);

问题是,如果eels为空,那么您将在null中获得empEvals值,这就是您需要检查匿名类型中的该属性是否为{{1}的原因或者不在你的上一个查询中,

相关问题