Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Construtor do DAO

O construtor ProdutoDao foi criado de uma maneira diferente em relação ao construtor do UsuarioDao. Qual a diferença? E qual a melhor prática?

    class UsuarioDao
    {
        private EntidadesContext contexto;

        public UsuarioDao()
        {
            contexto = new EntidadesContext();
        }
}
    class ProdutoDao
    {
        private EntidadesContext contexto;

        public ProdutoDao(EntidadesContext contexto)
        {
            this.contexto = contexto;
        }
}
3 respostas
solução!

Se você quer reaproveitar um contexto já criado anteriormente, a melhor prática é passar como parâmetro pelo construtor.

Isso também é verdade no caso de você querer fazer testes unitários para esta classe, já que você pode criar um objeto mock que representa o contexto.

Ao inicializar o contexto dentro do construtor, seria necessário utilizar reflections para os dois casos acima.

Minha dúvida é.... Onde e quando é o certo inicializar um contexto para não criar mais de um conexão com o banco? ou isso não existe?

Olha, aí é uma questão mais de arquitetura.

O adequado é ter um pool de conexões, pois assim você pode chamar o banco simultaneamente. O EntityFramework já tenha alguma solução pronta pra isso através de configurações.

Imagino que no decorrer do curso ou nos cursos seguintes que fazem uso do framework esse tópico seja abordado com mais profundidade.