w3ti.OpenBaseNET.SQLServer.Template
10.3.3
See the version list below for details.
dotnet new install w3ti.OpenBaseNET.SQLServer.Template@10.3.3
OpenBaseNET SQLServer Template
Template .NET 10 para criação rápida de Web APIs robustas com Arquitetura Limpa, DDD, CQRS e SQL Server.
Iniciar um novo projeto exige muita configuração repetitiva: estruturar as camadas, configurar o acesso a dados, definir pipelines de validação, conectar o logger, etc. Este template elimina esse trabalho inicial. Com um único comando, você obtém uma solução .NET completa e pronta para produção — seu foco fica nas regras de negócio.
Arquitetura
O template segue os princípios de Clean Architecture com Domain-Driven Design (DDD), organizando as responsabilidades em camadas independentes e testáveis.
MinhaApi/
├── src/
│ ├── MinhaApi.Domain # Entidades, interfaces, serviços de domínio
│ ├── MinhaApi.Application # Casos de uso, comandos, queries, DTOs
│ ├── MinhaApi.Infrastructure # EF Core, Dapper, repositórios, UoW
│ └── MinhaApi.API # Controllers, middlewares, Program.cs
└── tests/
└── MinhaApi.Tests.Unit # Testes unitários
| Camada | Responsabilidade |
|---|---|
| Domain | Entidades de negócio, interfaces dos repositórios e serviços de domínio. Não depende de nenhuma outra camada. |
| Application | Casos de uso via CQRS (commands e queries). Orquestra o domínio sem conhecer detalhes de infraestrutura. |
| Infrastructure | Implementações concretas: EF Core, Dapper, Unit of Work, resiliência com Polly, Serilog. |
| API | Entrada e saída da aplicação: Controllers, tratamento global de exceções, Swagger. |
Funcionalidades
Acesso a Dados
- Entity Framework Core 10 com extensões para retry automático
- Dapper integrado para queries SQL de alta performance
- Repository Pattern genérico com suporte a paginação, filtros e includes
- Unit of Work para controle transacional com suporte a EF Core + Dapper na mesma transação
CQRS e Mediator
- MediatR 14 para separação de commands e queries
- Pipeline Behaviors pré-configurados:
ValidationBehaviour— executa validações FluentValidation antes de qualquer handlerLoggingBehaviour— registro automático de cada request processada
Validação
- FluentValidation integrado ao pipeline do MediatR — erros retornam automaticamente como
422 Unprocessable Entity
Mapeamento
- AutoMapper configurado via injeção de dependência, com suporte a
nullem destinos e coleções
Resiliência
- Polly com pipeline de retry exponencial com jitter (3 tentativas, delay inicial de 2s) para:
- Operações SQL Server (via Dapper e EF Core)
- Chamadas HTTP
- Azure Storage
Observabilidade
- Serilog com saída estruturada em JSON (formato
CompactJsonFormatter) - Enriquecimento automático com nome da máquina e nome do ambiente
- Configuração por
appsettings.json - Log automático de operações de repositório (add, update, remove, query, execute)
Tratamento de Exceções
- GlobalExceptionHandlerMiddleware com resposta no padrão RFC 9457 (ProblemDetails):
ValidationException→422 Unprocessable EntityKeyNotFoundException→404 Not FoundArgumentException→400 Bad Request- Demais exceções →
500 Internal Server Error
API e Documentação
- Swagger / OpenAPI configurado e disponível em ambiente de desenvolvimento
- HTTPS e autenticação pré-configurados no pipeline
Testes
- Projeto de testes unitários com xUnit, Moq e Coverlet
Tecnologias
| Pacote | Versão |
|---|---|
| .NET | 10 |
| Entity Framework Core | 10 |
| MediatR | 14 |
| FluentValidation | — |
| AutoMapper | 16 |
| Dapper | — |
| Polly | — |
| Serilog | — |
| xUnit | 2.9 |
| Moq | 4.20 |
Como Usar
Pré-requisitos
- .NET SDK 10.0 ou superior
- SQL Server (local ou remoto)
1. Instalar o template
dotnet new install w3ti.OpenBaseNET.SQLServer.Template
2. Criar um novo projeto
mkdir MinhaApi
cd MinhaApi
dotnet new openbasenet-sql -n MinhaApi
3. Configurar a connection string
Edite src/MinhaApi.Presentation.Api/appsettings.json:
{
"ConnectionStrings": {
"OpenBaseSQLServer": "Server=.;Database=MinhaApi;Trusted_Connection=True;TrustServerCertificate=True"
}
}
4. Executar
dotnet run --project src/MinhaApi.Presentation.Api/MinhaApi.Presentation.Api.csproj
A API estará disponível com Swagger em https://localhost:{porta}/swagger.
Contato e Feedback
Rodrigo S. Brito — rodrigo@w3ti.com.br
Feedbacks e contribuições são sempre bem-vindos.
-
net10.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 10.3.5 | 149 | 6/12/2026 |
| 10.3.4 | 349 | 5/13/2026 |
| 10.3.3 | 183 | 5/12/2026 |
| 10.3.2 | 171 | 5/11/2026 |
| 10.3.1 | 204 | 5/10/2026 |
| 10.3.0 | 172 | 5/10/2026 |
| 10.2.4 | 194 | 5/3/2026 |
| 10.2.3 | 205 | 4/25/2026 |
| 10.2.2 | 198 | 4/24/2026 |
| 10.2.1 | 200 | 4/16/2026 |
| 10.2.0 | 186 | 4/16/2026 |
| 10.1.22 | 193 | 4/15/2026 |
| 10.1.21 | 206 | 4/8/2026 |
| 10.1.20 | 211 | 4/3/2026 |
| 10.1.19 | 215 | 3/18/2026 |
| 10.1.18 | 230 | 3/14/2026 |
| 10.1.16 | 220 | 3/10/2026 |
| 10.1.15 | 215 | 3/10/2026 |
| 10.1.14 | 226 | 3/4/2026 |
| 10.1.13 | 257 | 2/26/2026 |
- Atualização de pacotes nuget