GroupBy and Having using LINQ
Olá pessoal, meu nome é Mauricio Junior e hoje eu vou falar e mostrar como fazer group by e having using LINQ com a linguagem C# e a ferramenta Visual Studio da Microsoft.
É importante saber que isso é bom fazer quando você quer agrupar dados por algum campo e contar quanto dos dados estão duplicados por exemplo.
Quando trabalho diretamente com o banco de dados / database, tenho uma diferente referência para fazer um group by com having, mas com LINQ talvez você não tenha aprendido ainda e sinceramente não é difícil de aplicar ou aprender.
Estou usando EntityFramework para me conectar com o database, mas você pode usar qualquer drive para comunicar com base e depois disso basta fazer um LINQ.
No meu caso, eu preciso agrupar pela URL e contar quantas URLs estão apontando para o mesmo local, ou seja, que estão duplicadas com mais de um dado.
Veja o código 1.1 mostrando como fazer.
_youRepositoryClass
.GroupBy(i => i.Url)
.Where(grp => grp.Count() > 1)
.Select(grp => grp.Key)
.ToList();
Código 1.1 - LINQ
Primeiro eu coloquei a minha class e já chamei o GroupBy(i => i.Url) Where o grupo conta com maior que 1 e seleciona o grupo pela chave. Para finalizar basta retornar a lista.
Espero que tenha gostado e qualquer coisa pode entrar em contato comigo pelo site ecode10.com ou pelo academy ecode10.academy.