Neste repositório, está a base de uma estrutura em C# utilizando .NET (v8.0), projetado para facilitar o desenvolvimento de aplicações e a utilização de ferramentas essenciais para versionamento de banco de dados via migrações e documentação automática com Swagger.
Para iniciar um novo projeto .NET Core Web API, use o seguinte comando:
dotnet new webapi -o api
Este comando cria um novo projeto do tipo Web API na pasta api. Agora, para acessar a api:
cd api
Para rodar a API de desenvolvimento e acompanhar as mudanças em tempo real, digite no terminal:
dotnet watch run
Esse comando inicia a aplicação, recompilando automaticamente o código sempre que houver alterações (hot reload).
Utilizando o VSCode, baixe a extensão do NuGet Gallery e instale as seguintes extensões:
- Microsoft.EntityFrameworkCore.SqlServer
- Microsoft.EntityFrameworkCore.Tools
- Microsoft.VisualStudio.Azure.Containers.Tools.Targets
- Swashbuckle.AspNetCore
| Pacote | Função | Comando |
|---|---|---|
📌 Microsoft.EntityFrameworkCore.SqlServer |
Permite que aplicações .NET interajam com bancos de dados Microsoft SQL Server usando Entity Framework Core. | dotnet add package Microsoft.EntityFrameworkCore.SqlServer |
📌 Microsoft.EntityFrameworkCore.Tools |
Fornece ferramentas para gerenciar o Entity Framework Core via linha de comando e permite criar e aplicar migrações, gerar código a partir do banco e atualizar o esquema do banco. | dotnet add package Microsoft.EntityFrameworkCore.Tools |
📌 Microsoft.VisualStudio.Azure.Containers.Tools.Targets |
Auxilia na integração e implantação de contêineres Docker dentro do Visual Studio e permite executar, depurar e publicar aplicações em contêineres de forma integrada. | dotnet add package Microsoft.EntityFrameworkCore.Tools |
📌Swashbuckle.AspNetCore |
Adiciona suporte ao Swagger para documentar e testar APIs. | dotnet add package Swashbuckle.AspNetCore |
Quando se trabalha com Entity Framework Core e deseja utilizar seu próprio modelo em um banco de dados, utiliza-se o conceito de migrações.
A migração permite que seja criado ou atualizado a estrutura do banco de dados automaticamente a partir do código da aplicação, sem a necessidade de escrever os comandos SQL manualmente.
dotnet ef migrations add init
ALTERAÇÃO no appsettings.json: Devem ser adicionadas as linhas:
{
"ConnectionStrings": {
"DefaultConnection": "Data Source={NOME-DO-SEU-COMPUTADOR}\\SQLEXPRESS;Initial Catalog={NOME-DA-SUA-TABELA};Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False"
},As informações sobre sua tabela e nome do computador devem estar de acordo com as fornecidas dentro do SQL Server Management Studio.
Comando para verificar se todas as pendências estão sincronizadas com o banco de dados:
dotnet ef database update
Aplica todas as migrações pendentes ao banco de dados, garantindo que ele esteja sincronizado com o modelo definido no código da aplicação.
Em casos de problemas de compilação por conflitos entre o código e o banco de Dados, devem ser levado em consideração se o ApplicationDBContext está de acordo com as tabelas do Banco.
Códigos de limpeza e recompilação do projeto, respectivamente:
-
dotnet clean -
dotnet build
Caso tenha alterações na estrutura de tabelas ou novas migrações, atualize o banco com:
-
dotnet ef database update