Nach dem Ersetzen von EF Core rc 1 durch EF Core rc 2 final erhalten wir beim Aufruf der Methode GetService() eine ungültige Operationsausnahme. Das Ziel ist hier die entsprechende DbContext von einem bestimmten DbSet zu bekommen:EF Core RC2 FinaI Problem: Für diesen DbContext wurde kein Datenbankprovider konfiguriert
public static ObservableCollection<TEntity> Local<TEntity>(this DbSet<TEntity> set)
where TEntity : class
{
var context = set.GetService<DbContext>();
...
}
Die Ausnahme vollständige Meldung:
Kein Datenbank-Anbieter hat für diese DbContext konfiguriert wurde. Ein Provider kann durch Überschreiben der DbContext.OnConfiguring -Methode oder durch Verwenden von AddDbContext auf dem Anwendungsdienstanbieter konfiguriert werden. Wenn AddDbContext verwendet wird, stellen Sie außerdem sicher, dass Ihr DbContext-Typ ein DbContextOptions-Objekt in seinem Konstruktor akzeptiert und an den Basiskonstruktor für DbContext übergibt.
Wir effektiv die Datenbankanbieter in OnConfiguring setzen:
protected override void OnConfiguring(DbContextOptionsBuilder builder)
{
base.OnConfiguring(builder);
var connStringBuilder = new SqlConnectionStringBuilder();
connStringBuilder.UserID = "MyUserID";
...
builder.UseSqlServer(connStringBuilder.ConnectionString);
}
So scheint es, dass die Frage der Methode kommt GetService() nicht die Lösung der richtige DbContext Instanz für die gegebene DbSet ?.