Ich scheine diese Fehlermeldung zu bekommen, wenn Entity Framework 7 und MVC6 mitKeine Datenbank-Anbieter konfiguriert EF7
System.InvalidOperationException Keine Datenbankanbieter konfiguriert sind. Konfigurieren ein Datenbankanbieter durch zwingenden OnConfiguring in Ihrer DbContext Klasse oder in der AddDbContext Methode, wenn Dienste.
Ich glaube, ich habe alles getan, was ich tun soll, also vielleicht ist es ein Fehler. Ich verwende Version 7.0.0-beta7 von Entity Framework.
Ich habe mein Setup DbContext, eine Schnittstelle, so kann ich DbContext verspotten (wurde in EntityFramework 6 für Unit-Tests erforderlich). Meine Leistungen nehmen Sie die Schnittstelle als Konstrukteur und ich habe DI-Setup in MVC 6.
In meiner Startup.cs Datei, die ich die
folgende habenpublic 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>();
}
Ich habe meine Connection geprüft, und das ist eine gültige Verbindung Rückkehr . Ich habe auch in meinem Service überprüft, dass das Objekt injiziert wird, und es ist nicht null, also sollte das alles funktionieren.
Meine config.json Datei sieht wie folgt aus
{
"Data": {
"MyConnection": {
"ConnectionString": "Server=(local);Database=XXXX;Trusted_Connection=True;"
}
}
}
Mein DbContext die OnConfiguring Methode nicht außer Kraft setzen, weil ich, wie ich es bin glaube, ist es nicht erforderlich, alle wie oben tun? Habe ich recht? Was vermisse ich? Ich habe mir viele verschiedene Websites angeschaut, ich denke, einige verwenden alten Code, weil einige Methoden nicht existieren und andere Websites die gleichen wie das, was ich habe.
Wie Sie Ihre 'MyDbContext' in Code erstellen? – DavidG