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 as expressões de agregação (COUNT, SUM, Average, Max e Min) 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.
COUNT()
Para a intrução Count, a sintaxe SQL é a seguinte:
SELECT COUNT('')
FROM Users USR
No exemplo acima executei um comando para contar todos os registros da tabela Users. Ao invés de utilizar o COUNT(*), por uma questão de performance já mandei ele contar apenas os registros e não as colunas.
O mesmo exemplo você pode escrever utilizando expressões Lambda, você terá:
var query = context.Users
.Count();
Average()
Isto também pode ser utilizado para verificar a média, que é a função de agregação Average. Veja como fica a sintaxe:
var query = context.Users
.Average(u => u.Age);
Note que a partir de um função, você pode facilmente criar a expressão lambda filtrando o campo que deseja.
Max() e Min()
Há também a possibilidade de utilizarmos funções como Min() e Max() para obter o minimo e o maximo de um determinado campo.
Veja como é simples também:
var query = context.Users
.Min(us => us.Age);
No exemplo acima, iremos obter a menor idade de nossa tabela ou lista de usuarios.
Para a função Max(), é identico apenas tendo a função específica para ela. Veja:
var query = context.Users
.Max(us => us.Age);
Ao contrário do primeiro exemplo, no exemplo acima, iremos obter a maior idade de nossa tabela ou lista de usuarios.
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 *