MVC4 Mehrere Datenbanken
Ich bin neu in MVC4 framework & arbeiten auf einer Lizenzierung Anwendung, die verwenden, muss verschiedene Datenbanken für verschiedene Produkte (jede Datenbank enthält eine Handvoll Tische für ein Produkt - alle erzeugt durch proprietäre Lizenzierung-tool). Meine Anwendung soll in der Lage sein zur Unterstützung der CRUD-Funktionen auf verschiedene Produkte, so dass mehr als eine DbContext
Objekte in Bezug auf verschiedene Modell für jedes Produkt.
Soweit ich weiß, wird jede dieser DbContext
- Objekt muss der connection-string in der Web.config
- Datei. Ich bin kämpfen, um Liste (Index.cshtml
) vorhandenen Lizenzen für verschiedene Produkte, mit DropDownList
Kontrolle, wie für jedes Produkt, das ich bräuchte, um die Verbindung zu einer anderen Datenbank, wenn die Benutzer wählen Sie ein anderes Produkt aus der DropDownList
Kontrolle.
Jede Hilfe wird sehr geschätzt werden. Danke.
Du musst angemeldet sein, um einen Kommentar abzugeben.
So, ich verstehe Ihre Frage, die zentrale Frage ist, sind Sie kämpfen, um eine Verbindung zu einer anderen db, wenn der Benutzer wählt ein anderes Produkt aus einer DropDownList. Als Sie sagte, ja DbContext-Objekt muss ein connection string in der Web.config-Datei. Sie können angeben, mehrere connection strings in einer config.
Auch können Sie auf jeden Fall an verschiedenen Verbindungszeichenfolgen zu DBContext-Konstruktor. In der Regel Ihre DAL/Data-Access-Layer-oder Repository-Schicht ziehen würde entsprechende Verbindungszeichenfolge aus der Web.Config/App.config und übergeben es an die DBContext-Konstruktor. Siehe einen ähnlichen Ansatz hier und hier.
UPDATE :
Kann man nicht teilen die gleichen DbContext mit mehreren Datenbanken. Sie müssen mehrere DbContexts für jedes deiner DB.
Zusätzliche
Es gibt nur wenige, dies zu tun, aber wenn Sie Repostory und Unit Of Work pattern, können Sie mit einem Ansatz wie diese
Jeder DbContext Sie gehen zu müssen, können Sie assoziieren eine Menge von Entitäten in die Datenbank in Zusammenhang. So etwas wie unten
DbContext
Objekt ist nicht gebunden, zu einem bestimmten model-Klasse? Kann ich mehr als ein Modell-Klassen unter einemDbContext
(sorry, aber ich bin wirklich neu hier!)? Aus den Beispielen scheint es, dass sowohl die Datenbanken haben die gleiche Tabelle, schema, was nicht der Fall mit meiner Datenbanken, würde vorbei an verschiedenen Verbindungszeichenfolgen in ctor arbeiten, da ich verschiedene Klassen in meinem Modell?