Мне сложно понять, как я могу сформировать запрос LINQ, чтобы сделать следующее:
У меня есть таблица CallLogs, и я хочу вернуть единственный результат, который представляет собой вызов, который имеет наибольшую продолжительность.
Строка выглядит так:
[ID] [RemoteParty] [Продолжительность]
Для одной и той же RemoteParty может быть несколько строк, каждая из которых представляет собой вызов определенной продолжительности. Я хочу знать, какая RemoteParty имеет самую длинную общую продолжительность.
Используя LINQ, я получил это далеко:
var callStats = (from c in database.CallLogs
group c by c.RemoteParty into d
select new
{
RemoteParty = d.Key,
TotalDuration = d.Sum(x => x.Duration)
});
Итак, теперь у меня есть сгруппированный результат с общей продолжительностью для каждого RemoteParty, но мне нужен максимальный единственный результат.
[DistinctRemoteParty1] [Продолжительность]
[DistinctRemoteParty2] [Продолжительность]
[DistinctRemotePartyN] [Продолжительность]
Как я могу изменить запрос для достижения этого?