O Entity Framework (EF) é um framework de mapeamento objeto-relacional (ORM) de código aberto para a plataforma .NET, desenvolvido pela Microsoft. Neste artigo trago uma dúvida que pode ser recorrente para quem está começando e confesso que, as vezes pode ser um pouco difícil de lembrar também. Se você decora sintaxe, desculpe. Pode me julgar
O Entity Framework (EF) é um framework de mapeamento objeto-relacional (ORM) de código aberto para a plataforma .NET, desenvolvido pela Microsoft.
Neste artigo trago uma dúvida que pode ser recorrente para quem está começando e confesso que, as vezes pode ser um pouco difícil de lembrar também.
Se você decora sintaxe, desculpe. Pode me julgar porque a maioria das coisas que um dia já utilizei pode em algum momento passar batido e ter que consultar.
Acredito que isto é natural, mesmo que depois de alguns anos você não está propriamente desenvolvendo 100% do tempo projetos.
Então, para o artigo trago como que podemos utilizar uma expressão SELECT no Entity Framework sem usar a sintaxe de queries, que também é possível, mas sim utilizando Lambda Expression.
Como usar a expressão GROUP BY no Entity Framework utilizando Lambda Expression
Antes de falar de Lambda Expression, vamos visualizar como fazer a expressão naturalmente utilizando o Entity Framework.
Uma dica muito importante para quem está iniciando na programação é que antes de tentar entender o Entity Framework seria muito interessante também conhecer da sintaxe do SQL. Isto vai ajudar e muito a entender os comandos dentro do Entity Framework ou qualquer outro ORM.
Agora, deixe eu exemplificar um cenário de uma query no SQL para que possamos montar ela utilizando o LINQ. Veja o exemplo utilizando o SQL:
SELECT USR.Nome
FROM Users USR
GROUP BY USR.Nome
O mesmo exemplo você pode escrever utilizando expressões Lambda, você terá:
var query = context.Users
.GroupBy(us => new {us.Key});
Simples assim e note que com uma sintaxe mais clean e bem mais fácil de entender. O unico ponto diferente é que vai construir um novo objeto para retornar o grupamento desejado, o que pode ser facilmente criado em uma classe, removendo esta criação do objeto dinamicamente.
O mesmo irá ocorrer com a ordenação de campos utilizando o LINQ e o Entity Framework Core. Veja o mesmo exemplo ordenando no SQL:
SELECT USR.*
FROM Users USR
ORDER BY USR.Nome
O mesmo pode ser escrito utilizando uma expressão Lambda com o LINQ. Veja:
var query = context.Users
.OrderBy(us => us.Nome);
Caso você queira exibir os campos em ordem descrescente, também há uma maneira de fazer isto utilizando o método OrderByDescending(). Veja:
var query = context.Users
.OrderByDescending(us => us.Nome);
Lambda Expressions
Uma expressão lambda (lambda expression) é uma funcionalidade presente em várias linguagens de programação que permite criar funções anônimas de forma concisa e inline.
As expressões lambda são frequentemente usadas para criar funções simples e pequenas, que podem ser passadas como argumentos para outras funções ou usadas em contextos onde funções são necessárias.
Elas são especialmente úteis em linguagens que suportam programação funcional.
Leave a Comment
Your email address will not be published. Required fields are marked with *