I wydają się być coraz ten komunikat o błędzie podczas korzystania z Entity Framework 7 i MVC6Brak dostawców baz danych są konfigurowane EF7
System.InvalidOperationException Brak dostawców baz danych są skonfigurowane. Skonfiguruj dostawcę bazy danych, zastępując opcję OnConfiguring w klasie DbContext lub AddDbContext podczas konfigurowania usług .
Wierzę, że zrobiłem wszystko, co powinienem robić, więc może to jest błąd. Używam wersji 7.0.0-beta7 Entity Framework.
Mam skonfigurować mój DbContext, interfejs, dzięki któremu mogę sfałszować DbContext (był potrzebny w EntityFramework 6 do testowania jednostkowego). Moje usługi wziąć interfejs jako konstruktor i mam konfiguracji DI w MVC 6.
W moim Startup.cs złożyć Mam następujący
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>();
}
Sprawdziłem moje connectionString i że wraca prawidłowe połączenie . Sprawdziłem także w mojej usłudze, że obiekt jest wstrzykiwany, i nie jest zerowy, więc wszystko powinno działać.
Mój plik config.json wygląda to
{
"Data": {
"MyConnection": {
"ConnectionString": "Server=(local);Database=XXXX;Trusted_Connection=True;"
}
}
}
My DbContext nie zastąpić metodę OnConfiguring, ponieważ uważam, że nie jest potrzebne, gdyż robię to wszystko jak wyżej? Czy mam rację? Czego mi brakuje? Patrzyłem na wiele różnych stron internetowych, myślę, że niektóre używają starego kodu, ponieważ niektóre metody nie istnieją, a inne strony mają to samo co ja.
Jak się tworzenie 'MyDbContext' w kodzie? – DavidG