renatogroffe / Exemplos_ASPNETCore2.0

Exemplos de projetos implementados com o ASP.NET Core 2.0
57 stars 30 forks source link

Por que AddEntityFrameworkSqlServer é necessario se posso adicionar como DI? #1

Open alexsandro-xpt opened 7 years ago

alexsandro-xpt commented 7 years ago

Estava vendo o código e vi isto, porque não se usa adicionar como DI?

https://github.com/renatogroffe/Exemplos_ASPNETCore2.0/blob/c7eefa8c42a0b1835debe1c829a5c68d333f3aab/ExemplosASPNETCore2/ExemploEFCore/Startup.cs#L20

renatogroffe commented 7 years ago

Esse método ativa o uso do provider de SQL Server para Entity Framework. Sem ele não é possível configurar o acesso a dados, incluindo a parte que envolve o uso da connection string. Outros bancos como MySQL e PostgreSQL possuem métodos semelhantes.

alexsandro-xpt commented 7 years ago

Sim entendo que ele faz isto.. mas qual é a diferença de apenas configurar o services.scoped<>(...) pois eu uso sempre assim.

Entende o que quero dizer?

renatogroffe commented 7 years ago

De certa forma, poderia dizer que o método do Entity acaba por invocar esses métodos de injeção de dependência internamente. O nome diferente de método é justamente para que o desenvolvedor inclua configurações requeridas, algo que poderia ser esquecido ao se usar AddScoped apenas.

alexsandro-xpt commented 7 years ago

Uhmm..... pode ser então, faz sentido, vou passar a usar e olhar isto com mais detalhe.