Olá, tudo bom?
Caso você esteja precisando fazer alguma consulta LINQ com group by, segue um modelo de classes para teste e alguns exemplos para ajudar.
Exemplo 1: Obtendo a quantidade de atividades de um determinado funcionário e agrupando por tipo de status
from a in Atividade where a.CodigoFuncionario == 1 group a by new { a.Status.Descricao } into g select new { Status = g.Key.Descricao, Quantidade = g.Count() }
Exemplo 2: As 5 pessoas (solicitantes) que mais solicitam atividades
(from a in Atividade where a.CodigoFuncionario == 1 group a by new { a.Solicitante.Nome } into g select new { Nome = g.Key.Nome, Quantidade = g.Count() }).OrderByDescending(x => x.Quantidade).Take(5)
Exemplo 3: As 5 classificações que mais possuem atividades associadas
(from a in Atividade from c in a.Classificacoes where a.CodigoFuncionario == 2 group c by new { c.Nome } into g select new { Nome = g.Key.Nome, Quantidade = g.Count() }).OrderByDescending(x => x.Quantidade).Take(5)
Abraços,
Eduardo H. Rizo (@eduardorizo)
[twitter-follow screen_name=’eduardorizo’ show_count=’yes’]
Post relacionado: LINQ: Exemplo de consulta com group by e sum