Mandantenfähigkeit in EF6 mit mehreren Schemas mit denselben Tabellen

9

In unserem System wurde es erforderlich, eine mandantenfähige Lösung bereitzustellen, bei der jeder Mandanten die gleiche Datenstruktur hat.

Während der Untersuchung stieß ich auf einen Artikel, in dem die Mandantenfähigkeit mit EF4.1 diskutiert wurde.

Ссылка

Das sieht nach einer vernünftigen Lösung aus, aber wir würden es vorziehen, wenn möglich mehrere Datenbankkontexte zu vermeiden.

Außerdem haben wir eine große Anzahl von Migrationen für unsere aktuelle Single-Tenant-Lösung. Mit EF6 ist es möglich, dass eine Migration auf einen bestimmten Kontext abzielt, und wenn keiner unterstützt wird, wird ein Standardwert angestrebt.

Ich habe ein paar Fragen hier:

  1. Gibt es einen besseren Ansatz für die Mandantenfähigkeit, wenn EF6 anders als für EF4 verwendet wird?
  2. Gibt es einen besseren Weg, um die Migrationen zu bewältigen?

Jede Hilfe wird sehr geschätzt!

    
Dark Templar 04.08.2014, 12:19
quelle

1 Antwort

2
  1. Context stellt eine Verbindung zu einer Verbindungszeichenfolge her. Wenn die Verbindungszeichenfolge zur Laufzeit aufgelöst wird, verwenden Sie die One dbcontext-Klasse mit der httprequest-spezifischen Instanz. Zur Unterscheidung von httprequest können Hostnamen-Header verwendet werden.
  2. Es gibt keine einfache Möglichkeit, mit Migration umzugehen. Dies ist eine komplexe Frage, aber kurz vor dem Ende von Release 1, normalerweise erstellen ich eine erste Migration mit allen Skripts, um die Datenbank bereitzustellen, dies ist die Datenbank nach dieser Änderung nicht durch Migrationen auf der Schiene verursacht verursacht . und dann die Migration jedes Mal hinzufügen, wenn ich sie ändern muss. lassen Sie mich wissen, wenn mehr Details benötigt werden.
anIBMer 13.08.2014, 10:56
quelle