Das Projekt, an dem ich arbeite, verwendet Entity Framework 4.3 und Datenmigrationen, um das Schema auf dem neuesten Stand zu halten. Im Laufe des Projekts ist der Migrationsordner gewachsen und verfügt nun über 600 Dateien. Das ist riesig. Wir haben jetzt eine Binärdatei, die aufgrund aller Migrations-Metadaten über 12 MB ist.Was ist der beste Weg, um alle vorhandenen Entity Framework-Migrationen zu reduzieren?
Ich möchte alle diese in einer Migration zusammenfassen und neu beginnen. Meine Bedenken sind:
- Ist das möglich oder wird es Probleme mit dem Migrationsverlauf verursachen, wenn ich Migrationen entferne?
- Gibt es Anleitungen, wie man das macht?
Fantastische Idee, die Migrationen auf eine andere Baugruppe zu verschieben. Weißt du, ob das mit EF 4 möglich ist? Ich dachte, die Migrationen müssten im selben Projekt wie der DataContext leben. –
Die von DbMigrationsConfiguration abgeleitete Klasse muss nur Ihren DbContext sehen können. Zwei Wege, um darüber zu gehen. Sie könnten einen separaten Kontext im Migrationsprojekt haben oder Sie könnten einen Verweis auf Ihre Datenschicht in Ihrem Migrationsprojekt hinzufügen, damit der Kontext dort angezeigt wird. Der Ansatz, den ich anwende, besteht darin, meine Entity- und Entity-Mapping-Klassen in ihren eigenen separaten Projekten zu behalten. In meinem Migrations-Projekt habe ich einen speziellen Kontext, der keine DbSets definiert, sondern lädt alle meine Entity-Mapping-Klassen dynamisch mit 'modelBuilder.Configuration.AddFromAssembly()' –
Ich mag die Trennung, die Sie gefunden haben. Ermöglichen dies Entwicklern weiterhin die Verwendung von Add-Migration und Enable-Migration von der Konsole aus? –