Рассмотрим следующее заявление LINQ:Как получить максимальное количество каждой группы?
var posts = db.Posts
.Where(p => p.Votes.Count > 0 && p.User.Confirmed)
.Select(p => new
{
PostId = p.PostId,
Votes = p.Votes.Count(),
Hours = EntityFunctions.DiffHours(DateTime.UtcNow, p.Timestamp)
})
.Select(p1 => new
{
PostId = p1.PostId,
Votes = p1.Votes,
Group = p1.Hours <= 24 ? 24 :
p1.Hours <= 168 ? 168 :
p1.Hours <= 720 ? 720 : 0
})
.Where(p2 => p2.Group != 0);
Он успешно группы перечисление должностей в соответствующих группах: 24 часов, 168 часов и 720 часов.
Однако, теперь мне нужно получить PostId
, у которого есть Max
Votes
для каждой группы. Как мне это сделать?
Я вижу, где я перепутал свой вопрос. Прости. Мне нужна почта с 'Max'' Votes' для каждой группы. –