An open API service indexing awesome lists of open source software.

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.

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