mi sembra di essere sempre questo messaggio di errore quando si utilizza Entity Framework 7 e MVC6Nessun provider di database sono configurati EF7
System.InvalidOperationException Nessun provider di database sono configurati. Configurare un provider di database ignorando OnConfiguring nella classe DbContext o nel metodo AddDbContext quando si impostano i servizi .
Credo di aver fatto tutto ciò che dovrei fare, quindi forse è un bug. Sto usando la versione 7.0.0-beta7 di Entity Framework.
Ho configurato il mio DbContext, un'interfaccia in modo da poter prendere in giro DbContext (era necessario in EntityFramework 6 per il test dell'unità). I miei servizi prendere l'interfaccia come un costruttore e ho installato DI MVC 6.
Nei miei Startup.cs File Ho il seguente
public void ConfigureServices(IServiceCollection services)
{
// entity framework
services.AddEntityFramework()
.AddSqlServer()
.AddDbContext<MyDbContext>(options =>
options.UseSqlServer(Configuration["Data:MyConnection:ConnectionString"])
);
// Add MVC services to the services container.
services.AddMvc();
// new context on each request
services.AddScoped<IMyDbContext, MyDbContext>();
}
Ho controllato il mio connectionString e che sta tornando una connessione valida . Ho anche controllato nel mio servizio che l'oggetto è stato iniettato, e non è nullo, quindi dovrebbe funzionare.
Il mio file config.json assomiglia a questo
{
"Data": {
"MyConnection": {
"ConnectionString": "Server=(local);Database=XXXX;Trusted_Connection=True;"
}
}
}
mio DbContext non l'override del metodo OnConfiguring, perché credo che non è necessario come sto facendo tutto come sopra? Ho ragione? Cosa mi manca? Guardato un sacco di diversi siti web, credo che alcuni stanno usando il vecchio codice, perché alcuni metodi non esistono e altri siti web hanno lo stesso di quello che ho.
Come si sta creando il 'MyDbContext' in codice? – DavidG