У меня сейчас есть запрос LINQ:
public List<EventSchool> GetEventSchools(int eventID)
{
var eventSchools = db.EventSchools
.Include("Organisation")
.Where(e => e.EventID == eventID)
.ToList();
foreach (var ev in eventSchools)
{
if (db.EventSchoolKeyStages.Where(e => e.EventSchoolID == ev.EventSchoolID).Count() > 0)
{
int ks = db.EventSchoolKeyStages
.Where(e => ev.EventSchoolID == ev.EventSchoolID)
.Sum(e => e.Males + e.Females);
ev.StudentNumbers = ks;
}
}
return eventSchools;
}
Когда я проверяю EventSchools, номера учеников для ВСЕХ предметов в списке показываются как первые итоги.
Например, если у меня есть 3 элемента в списке:
Item 1 - Males = 10, Females = 10
Item 2 - Males = 1, Females = 2
Item 3 - Males = 200, Females = 500
ВСЕ предметы имеют StudentNumbers 20, а не:
Item 1 - 20
Item 2 - 3
Item 3 - 700
Не уверен, что я делаю не так?