Это только вернет максимальную TotalDuration без части RemoteParty.

рудно понять, как я могу сформировать запрос 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] [Продолжительность]

Как я могу изменить запрос для достижения этого?

Ответы на вопрос(2)

Ваш ответ на вопрос