Über mehrere connection strings
Info
Ich habe mehrere Projekte in meiner Lösung, von denen eine die DAL und das andere ist ein ASP.NET MVC6 Projekt.
Da die MVC6 Projekt auch das Startprojekt, die ich brauche, um meinen connection-string gibt.
Sah ich diese Lösung, aber es wird nicht akzeptiert, noch funktioniert es.
Meinen Versuchen
appsettings.json
"Data": {
"DefaultConnection": {
"ConnectionString": "Server=.\\SQLEXPRESS;Database=Bar;Trusted_Connection=True;MultipleActiveResultSets=true"
},
"FooBar": {
"ConnectionString": "Server=.\\SQLEXPRESS;Database=Bar;Trusted_Connection=True;MultipleActiveResultSets=true"
}
}
Start.cs
public void ConfigureServices(IServiceCollection services)
{
//Add framework services.
services.AddEntityFramework()
.AddSqlServer()
.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(Configuration["Data:DefaultConnection:ConnectionString"]))
.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(Configuration["Data:FooBar:ConnectionString"]));
}
Doch, wenn ich versuche, Zugriff auf Daten, die mithilfe der FooBar
Verbindungszeichenfolge bekomme ich folgende Meldung:
"Zusätzliche Informationen: Keine Verbindung Zeichenfolge mit dem Namen 'FooBar' werden könnte
gefunden in der Anwendung config-Datei".
Die Frage
Wie bekomme ich mehrere connection strings arbeiten?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie einen Blick auf die offizielle Dokumentation für Verbindungszeichenfolgen in asp.net Kern Ihrem Beispiel zeigt der Verbindungszeichenfolge gespeichert in
appsettings.json
wie dieseWelche, angepasst an Ihrem Beispiel werden würden.
Konfigurieren der Kontext, in
Startup.cs
mit der string-Konfiguration Lesen Konfiguration verwenden würde, dieGetConnectionString()
Methode mit der Konfigurations-keyNun beobachteten Problem mit, wie die oben genannten Kontext konfiguriert ist, in die ursprüngliche Frage ist, dass es jetzt zwei Verbindungszeichenfolgen für den gleichen Zusammenhang.
Versuchen, verwenden Sie mehrere connection strings zu arbeiten für den gleichen Kontext wird zu Problemen führen, da der Rahmen würde nicht wissen, welche option zu verwenden, wenn die anfragende den Kontext.
using
namespace