Criação do projeto
Vamos começar criando o projeto. Antes disso, precisamos verificar se a versão do .NET instalada corresponde à do tutorial, executando o comando dotnet --version
. No meu caso, a versão é 7.0.102
.
Em seguida, execute o comando para encontrar as opções de templates disponíveis:
dotnet new list
No meu caso vou criar uma aplicação Web API:
dotnet new webapi
Vamos executar o projeto para garantir que tudo está funcionando:
dotnet run
Configuração do SQLite
Vamos dicionar os pacotes:
dotnet add package Microsoft.EntityFrameworkCore.Sqlite
dotnet add package Microsoft.EntityFrameworkCore.Design
E instalar a ferramenta:
dotnet tool install --global dotnet-ef
O arquivo .csproj mostrará a inclusão da referência ao pacote Microsoft.EntityFrameworkCore.Sqlite:
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="7.0.4" />
Agora é hora de criar a classe DbContext:
dotnet ef dbcontext scaffold "Data Source=bancoDeDados.sqlite" Microsoft.EntityFrameworkCore.Sqlite -o Models
No arquivo "appsettings.Development.json", adicione a seção "ConnectionStrings" com a string de conexão correspondente:
"ConnectionStrings": {
"MeuBancoDeDados": "Data Source=bancoDeDados.sqlite"
}
No arquivo "Models\BancoDeDadosContext.cs" remova o método "OnConfiguring", pois já colocamos a string de conexão no arquivo appsettings.
Na classe "Program.cs" adicione o seguinte para configurar o uso do DbContext e da string de conexão criada:
builder.Services.AddDbContext<BancoDeDadosContext>(options =>
options.UseSqlite(builder.Configuration.GetConnectionString("MeuBancoDeDados")));
Crie uma tabela de teste
Apenas para garantir que esta tudo certo vamos criar uma tabela no banco de dados.
Crie uma classe "Pessoa" na pasta "Models" com uma propriedade "Id".
No arquivo "Models\BancoDeDadosContext.cs", adicione o código:
public DbSet<Pessoa> Pessoas { get; set; }
Execute o comando para adicionar uma migration e revise os novos arquivos gerados na pasta Migrations:
dotnet ef migrations add AdicionaPessoa
E finalmente, execute o comando dotnet ef database update
para criar a tabela no banco de dados.
Conclusão
A tabela "Pessoas" está criada no banco de dados e tudo está funcionando como esperado. Verifique se tudo foi executado corretamente e prossiga com o desenvolvimento do projeto.
Oldest comments (4)
Conteúdo incrível! Precisamos de mais posts em pt/br sobre . NET 7!!
Muito obrigado pelo feedback!! Sem duvida é algo que faz falta!
Legal o artigo, conciso e direto ao ponto. 🎉
Questão, o nuget EntityFrameworkCore.Tools instala o cli da EF ? eu sempre instalo ele usando dotnet tool install dotnet-ef em conjunto com o nuget EntityFrameworkCore.Design
Muito obrigado pelo feedback!!
Sobre a dúvida, o Microsoft.EntityFrameworkCore.Tools é um pacote NuGet que fornece ferramentas adicionais de linha de comando para o Entity Framework Core, coisas como: Scaffold-DbContext, Add-Migration, Update-Database e Remove-Migration.
Só que o comando "dotnet add package" adiciona o pacote nas dependências apenas do projeto em questão, já o "dotnet tool install dotnet-ef" instala a ferramenta dotnet-ef globalmente ou localmente em seu sistema. Isso significa que você pode usá-lo em qualquer projeto sem precisar instalar o pacote Microsoft.EntityFrameworkCore.Tools em cada projeto separadamente.
Com base na Microsoft a diferença entre os pacotes que você citou é:
Ferramentas Microsoft.EntityFrameworkCore.Tools para PowerShell que funcionam no Console do Gerenciador de Pacotes do Visual Studio
dotnet-ef e Microsoft.EntityFrameworkCore.Design para ferramentas de linha de comando multiplataforma
Editei o post para adicionar essas informações, pois realmente faltou a parte falando para executar o comando "dotnet tool install --global dotnet-ef" e adicionar o pacote "dotnet add package Microsoft.EntityFrameworkCore.Design", nesse caso o "Microsoft.EntityFrameworkCore.Tools" não é necessário.
Muito obrigado, qualquer coisa estou a disposição!