Olá, estou trabalhando na modelagem de um projeto piloto utilizando DDD e estou me questionando sobre a camada de acesso a dados, gostaria de compartilhar com vocês e ver se alguém já enfrentou tal questão e se pode opinar.
Bem, meu projeto possui as seguintes camadas:
0.Presentantion
1.Application
2.Domain
2.1.Entities
3.Infra
3.1.Data
3.1.1.Context
3.1.2.Repositories
Estas quatro camadas possuem outras divisões internamente, mas o ponto que estou me questionando é a relação da Infra com o Domain. O cenário que quero reproduzir é poder referenciar apenas meu Domain e Application para minha Presentantion, sem ter acesso
a camada Infra.
Quero isto para poder manter o uso do EF com o EDMX, poder mapear meu banco e manter atualizado sempre que ocorrer atualizações facilmente e isolar as camadas e responsabilidades.
O que eu fiz pra tentar chegar perto disto foi mudar o DbSet do Context gerado, trocando a class Piloto.Data.Context.Customer para Piloto.Domain.Entities.Customer, mas toda vez que atualizo estas referências se perdem.
Bem, meu principal questionando é, consigo automatizar isto de alguma forma?
E no geral, alguém já teve que modelar algo semelhante a este cenário? O que podem dizer?
Obrigado desde já!