Sto usando ASP.NET Core con EF Core Code First. Sto definendo l'iniezione delle dipendenze di DbContext nella configurazione del servizio di Startup.cs del mio progetto ASP.NET Core come descritto qui ( https://docs.efproject.net/en/latest/platforms/aspnetcore/new-db. html ):
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext<TestContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("DevelopmentDatabase")));
}
Ma non voglio usare DbContext in un controller come descritto nello stesso sito ma voglio esternarlo ad un altro progetto della libreria di classi .NET Core insieme alla migrazione.
Come posso realizzare questo?
Implementare il modello di repository
È spiegato chiaramente qui: Creazione della prima API Web con ASP.NET Core MVC
Ma registra il tuo repository come:
services.AddScoped<ICustomerRepository, CustomerRepository>();
invece di usare .AddSingleton
come suggerisce il link, per evitare questo altro problema .