2013-06-18 4 views
0

Я создал самый сложный запрос linq когда-либо, но все еще не имею именно то, что мне нужно. Из этого запроса мне нужно знать, сколько связанных учеников в таблице EventStudents имеет DateDeleted == null. Итак, StudentCount = ev.EventStudents - где DateDeleted == null .Count(). Может ли кто-нибудь помочь в этом, пожалуйста?LInq to Entity выберите новый COUNT, где

var inf = (from ev in db.Events 
     where (ev.StartDate >= beginDate && ev.StartDate <= endDate) 
     && ev.DeletedDate == null 
     orderby ev.StartDate descending 
     select new 
     { 
      EventID = ev.EventID, 
      EventTitle = ev.Title, 
      EventDate = ev.StartDate, 
      StudentCount = ev.EventStudents.Count(), 
      CreatedUsername = ev.CreatedUsername 
     }).AsEnumerable().Select(x => new 
     { 
      EventID = x.EventID, 
      EventTitle = x.EventTitle, 
      EventDate = x.EventDate, 
      StudentCount = x.StudentCount, 
      CreatedUsername = x.CreatedUsername, 
      CreatedFullname = sortedUserDictionary.Where(u => u.Value == x.CreatedUsername) 
      .Select(f => f.Key) 
      .FirstOrDefault() ?? x.CreatedUsername 
     }); 

ответ

0

Изменение ev.EventStudents.Count() в ev.EventStudents.Count(es => es.DateDeleted == null).

Смежные вопросы