EF Core 8 Preview 1 - News

6 minuto(s) de leitura - February 23, 2023

01


Esse é meu lugar especial para compartilhar novidades e pensamentos sobre tecnologia com a comunidade.

Introdução

A Microsoft tem feito muito pela comunidade de desenvolvedores com projetos open source, o qual sinto orgulho de participar contribuindo em alguns deles como o Entity Framework Core, ele tem se tornado um projeto muito interessante por meio da dedicação dos engenheiros da Microsoft e por inúmeras contribuições da comunidade de forma global.

Nesse último preview lançado do produto podemos agora escrever consultas sem necessidade de criar um modelo de dados e configurar no bom e velho DbContext. Sim, é possível agora escrever consultas da mesma “forma” como fazemos utilizando o Dapper.

Para comunidade isso é muito importante, dado que em muitos casos queremos utilizar todos recursos do EF Core, mas escrevendo consultas independentes, vamos ver como isso ficou.
Para executar comandos no banco de dados como por exemplo atualizar um registro ou criar tabela já tinhamos essa funcionalidade que era o ExecuteSql:
var context = new MeuContexto();
context.Database.ExecuteSql(@$"CREATE TABLE ....");
context.Database.ExecuteSql(@$"UPDATE TABLE ....");
Até aqui tudo bem certo?! Vamos agora para a parte da consulta, pra ver como podemos fazer consultas sem necessidade de fazer um mapeamento no EF Core, basicamente iremos utilizar o novo método chamado SqlQuery, vamos para o exemplo:
public class Artigo
{
    public int Id { get; set; }
    public string Titulo { get; set; }
}

var artigos =
    await context.Database
        .SqlQuery<Artigo>($"SELECT TOP 12 * FROM Artigos ORDER BY id DESC")
        .ToListAsync();
Bom de forma bem simples é isso, basta você ter uma classe com os campos que corresponde a seus campos no banco de dados e executar sua consulta, o EF Core irá fazer o discovery das propriedades e mapear para você.

Contatos

Fico por aqui, mas pode me contatar por meio de minhas redes sociais 😄
twitter: @ralmsdeveloper
linkedin: @ralmsdeveloper

Deixe um comentário