Como configurar Entity Framework numa aplicação console no .NET.

Marcio Nizzola
2 min readNov 28, 2023

Ao criar uma aplicação console do zero, diferentemente de API´s onde você pode utilizar um comando como o “Scaffold” e montar toda a base para usar o Entity Framework, neste caso do console não temos a mesma facilidade!

Então para podermos acessar temos que montar manualmente a inicialização da aplicação carregando as dependências.

Para quem ainda não viu, tenho um Post ensinando a carregar as configurações do appsettings (vide link).

A primeira coisa é montar um arquivo appsettings, contendo a string de conexão com o banco de dados, como indicado abaixo:

{
"ConnectionStrings": {
"VehicleDataBase": "Server=(localdb)\\mssqllocaldb;Database=MvcMarcaModeloContext-a797bd6d-eb2a-4d28-8821-d472092da8aa;Trusted_Connection=True;MultipleActiveResultSets=true"
}
}

Depois disso, precisamos montar a nossa classe de contexto:

using Microsoft.EntityFrameworkCore;

namespace MvcMarcaModelo.Data
{
public class MvcMarcaModeloContext : DbContext
{
public MvcMarcaModeloContext (DbContextOptions<MvcMarcaModeloContext> options)
: base(options)
{
}

public DbSet<MvcMarcaModelo.Models.ModeloModel> Modelos { get; set; } = default!;

public DbSet<MvcMarcaModelo.Models.MarcaModel> Marcas { get; set; } = default!;
}
}

Depois de feita a classe, iremos modificar a inicialização da aplicação, no arquivo “program.cs”:

No bloco marcado na linha 18, temos a criação da instância do Contexto associando-o ao Sql Server, utilizando a string de conexão que encontra-se no arquivo “appsettings.json”.

Pronto, está tudo preparado para usar !

Agora na linha 22, já instanciamos um objeto “_dbContext” que trata-se do contexto obtido do “serviceProvider” para que possamos utilizar.

Depois no restante do código, nada mais do que um loop onde obtemos de endpoints marcas e modelos de carros, os quais são inseridos diretamente no contexto.

Gostou do artigo? clique no ícone👏e me siga para ver as próximas publicações !! Quer ver mais conteúdos, acesse minhas redes através do Linktree: https://linktree.com/nizzola

--

--

Marcio Nizzola

Microsoft MVP | Software Architect na CI&T | Prof. da Etec Itu | Membro Fundador da Comunidade Itu Developers.