https://github.com/cleslleydemoura/webapi.netcore
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.
https://github.com/cleslleydemoura/webapi.netcore
csharp dotnet dotnet-core
Last synced: 9 months ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/cleslleydemoura/webapi.netcore
- Owner: cleslleydemoura
- Created: 2025-01-02T11:57:52.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-08-29T19:14:59.000Z (10 months ago)
- Last Synced: 2025-09-07T10:38:14.856Z (10 months ago)
- Topics: csharp, dotnet, dotnet-core
- Language: C#
- Homepage:
- Size: 13.4 MB
- Stars: 6
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
webAPI.netCore
Introdução
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.
Guia Completo para Configuração de um Projeto .NET com Web API e MySQL
1. Criando o Projeto Web API
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```
2. Rodando a API em desenvolvimento
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).
3. Instalando Pacotes NuGet para MySQL
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
# Funções das extenções:
| 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```|
4. Migration e conexão com SQL
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:
```json
{
"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