Backend Data (C# / EF Core)
Overview
Aplicar o padrão de persistência do backend C# cobrindo modelagem EF Core, repositórios de infraestrutura, e implementação dos adapters com mapeamento consistente para domínio.
Guidelines
- Entidades de Banco (EF Core) ficam na camada de Infrastructure, não no domínio.
- Separar a classe de persistência (
CustomerDboouCustomerEfEntity) da entidade de domínio (Customer). - Implementar mapeamentos explícitos:
ToDomain(db -> domain) eFromDomain(domain -> db). - Repositórios de Infraestrutura implementam as interfaces de domínio (
ICustomerRepository) e retornamTask<Result<T>>. - Tratar exceções de banco (concorrência, violação de constraint) e converter para
Result.Failure.
Workflow
- Identificar alteração: modelo de persistência, migration ou repositório.
- Ajustar a classe de persistência do EF Core.
- Atualizar a implementação do repositório/query.
- Revisar os mapeamentos
ToDomain/FromDomain. - Validar a persistência com testes de integração (usando Banco em memória ou SQLite/Docker).
- Rodar migrations (via
config-efcore-cs).
References
- Consultar
../skills-standards.mdpara convenção global de nomenclatura (seção C#).
Global Standards
- Consultar
../skills-standards.mdpara padrões globais de nomenclatura e convenções gerais entre skills.