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?