2
respostas

Injeção de dependência para ApplicationContext

Olá, qual é a vantagem de utilizar injeção de dependência no código abaixo, já que está sendo utilizado uma classe concreta ao invés de uma interface?

        private readonly ApplicationContext contexto;

        public DataService(ApplicationContext contexto)
        {
            this.contexto = contexto;
        }
2 respostas

Oi Jacqueline, tudo bem?

Apesar de o parâmetro do construtor ser do tipo classe e não interface, ainda assim o ASP.NET Core injeta automaticamente o contexto que foi definido pelo método AddDbContext na classe Startup.cs:

services.AddDbContext<ApplicationContext>(options =>
options.UseSqlServer(connectionString)
);

Assim, você não precisa criar uma instância de ApplicationContext com o operador new e passá-lo no construtor do DataService: o próprio ASP.NET faz isso.

Ah tá, agora entendi.

Obrigada!