Entity Framework für mehrere Datenbanken (dasselbe Schema) zur Laufzeit?

asp.net asp.net-mvc entity-framework

Frage

Lassen Sie mich zunächst sagen, dass ich EF sehr neu bin. Hier ist mein Dilemma:

Es wird eine ASP.NET-App zu ASP.NET-MVC migriert. Ich möchte EF dafür nutzen. Es gibt eine Hauptdatenbank, die "Kundeninformationen" speichert. Außerdem hat jeder "Client" eine eigene Datenbank. Das sind die Einschränkungen, die wir haben.

Derzeit sind Clientinformationen in der Haupt-DB vorhanden, mit denen ich pro Client eine Verbindungszeichenfolge erstellen und einzelne SQL-Aufrufe ausführen kann.

Wie würde ich dasselbe in Entity Framework erreichen? Jede Datenbank hat das gleiche Schema. Gibt es eine Möglichkeit, die Verbindungszeichenfolge programmgesteuert zu wechseln? Diese DBs befinden sich derzeit auf demselben Server, dies ist jedoch keine Voraussetzung, und es kann sich um einen völlig anderen Server handeln.

Irgendwelche Ideen?

Mehrere Verbindungszeichenfolgen in der Web.config wären ein letzter Ausweg. Ich bin mir auch nicht sicher, wie ich das genau verbinden soll.

Danke im Voraus.

Beliebte Antwort

Wenn Sie im Konstruktor Ihres Entitätsobjekts eine EntityConnection durcharbeiten, können Sie die Datenbank ziemlich einfach ändern.

EntityConnection con = new EntityConnection(connString);
con.ChangeDatabase(dbName);
using (Entities context = new Entities(con))
{
    // Some code here
}


Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum
Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum