728 x 90

Funções de agregação com o Entity Framework utilizando LAMBDA

Funções de agregação com o Entity Framework utilizando LAMBDA

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.

Posts Carousel

Leave a Comment

Your email address will not be published. Required fields are marked with *

Latest Posts

Top Authors

Most Commented

Featured Videos