我创建了最复杂的linq查询,但仍然没有我所需要的。从这个查询中,我需要知道EventStudents表中有多少相关学生有DateDeleted == null
。所以,StudentCount = ev.EventStudents - 其中DateDeleted == null .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 :(得分:0)
将ev.EventStudents.Count()
更改为ev.EventStudents.Count(es => es.DateDeleted == null)
。