Consulta C # LINQ - Agrupar por

Estou tendo dificuldade para entender como posso formar uma consulta LINQ para fazer o seguinte:

Eu tenho uma tabela CallLogs e quero recuperar um único resultado que representa a chamada que tem a maior duração.

A linha fica assim:

[ID] [RemoteParty] [Duração]

Pode haver várias linhas para o mesmo RemoteParty, cada uma representando uma chamada de uma duração específica. Estou querendo saber qual RemoteParty tem a maior duração total.

Usando o LINQ, cheguei até aqui:

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)
                 });

Portanto, agora eu tenho um resultado agrupado com a duração total de cada RemoteParty, mas preciso do máximo resultado único.

[DistinctRemoteParty1] [Duração]

[DistinctRemoteParty2] [Duração]

[DistinctRemotePartyN] [Duration]

Como posso modificar a consulta para conseguir isso?

questionAnswers(2)

yourAnswerToTheQuestion