MVC 6 EF7 RC1 erstellt mehrere Datenbankkontexte
Ich versuche herauszufinden, wie ein zweiter DB-Kontext in EF7 RC1 erstellt wird. In der Vergangenheit konnte ich einen Konstruktor mit: base ("connectionName") verwenden, aber das scheint keine Option mehr zu sein, da angegeben wird, dass keine Zeichenfolge in System.IServiceProvider konvertiert werden kann.
Mein zweiter Kontextcode lautet wie folgt:
public class DecAppContext : DbContext
{
public DecAppContext()
// :base("DefaultConnection")
{
}
public DbSet<VignetteModels> VignetteModels { get; set; }
public DbSet<VignetteResult> Result { get; set; }
}
}
In meiner config.json habe ich die Verbindung angegeben:
"Data": {
"DefaultConnection": {
"ConnectionString": "Server=(localdb)\\mssqllocaldb;Database=aspnet5-xxxxx...;Trusted_Connection=True;MultipleActiveResultSets=true"
}
}
In meinem Abschnitt zum Konfigurieren von Diensten meines Starts wurden beide Kontexte hinzugefügt:
services.AddEntityFramework()
.AddSqlServer()
.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(Configuration["Data:DefaultConnection:ConnectionString"]))
.AddDbContext<DecAppContext>(options => options.UseSqlServer(Configuration["Data:DefaultConnection:ConnectionString"]));
Der applicationDB-Kontext funktioniert einwandfrei, da ich einen Benutzer erstellen und mich ohne Probleme anmelden kann
Wenn ich jedoch versuche, auf den anderen Kontext wie in meinem Controller zuzugreifen, geschieht Folgendes:
private DecAppContext db = new DecAppContext();
var vignette = db.VignetteModels.SingleOrDefault(v => v.CaseId == vid);
Ich erhalte den Fehler:
s sind keine Datenbankanbieter konfiguriert. Konfigurieren Sie einen Datenbankanbieter, indem Sie OnConfiguring in Ihrer DbContext-Klasse oder in der AddDbContext-Methode beim Einrichten von Diensten überschreiben.
Alle Arbeitsbeispiele in EF7 RC1 mit mehreren Datenbankkontexten und Zugriff darauf wären sehr willkommen.