У меня был 1-й оператор в моем коде, и я обнаружил, что он не дает точного подсчета, он возвращал 1, когда правильный ответ - 18. Чтобы попытаться отладить проблему, я разбил ее, создав 2-й оператор здесь, и счетчик вернулся18. Я просто не вижу, в чем разница между этими двумя.Кажется, что 1-й просто более компактен.
В настоящее время я запускаю эти два оператора вплотную и уверен, что база данных не меняется между ними.
int count = (from s in surveysThisQuarter
where s.FacilityID == facility.LocationID
select s.Deficiencies).Count();
против
var tempSurveys = from s in surveysThisQuarter
where s.FacilityID == facility.LocationID
select s;
int count = 0;
foreach (Survey s in tempSurveys)
count += s.Deficiencies.Count();