Ich spiele mit dem Entity-Framework und kontinuierlichen Builds herum. Bisher bin ich in der Lage, eine Migration oder eine Reihe von Migrationen ohne Probleme mit migrate.exe und den entsprechenden Argumenten auszuführen.
Ich habe jedoch Schwierigkeiten beim Versuch, migrate.exe zu erhalten, um ein Skript zu starten, anstatt die Migration durchzuführen, so wie ich es bei der Ausführung von
erreichen konnte %Vor%aus der Package Manager-Konsole in Visual Studio.
Gibt es derzeit eine Möglichkeit, dies zu tun?
Danke.
Es wird derzeit nicht unterstützt. Bitte fügen Sie Ihre Stimme dem Problem hinzu: Migrationen: -Script for Migrate.exe
Ich habe das gleiche Problem festgestellt, und die Option ist tatsächlich in der Paketmanagerkonsole in Visual Studio verfügbar. Also habe ich das Powershell-Skript und die Entity-Framework-DLL geöffnet und eine kleine ausführbare Datei erstellt, so dass die Skripts über die Befehlszeile generieren kann. Der Quellcode ist so wie er ist und ohne Gewähr.
Sie können eine einfache c # -Konsolenanwendung schreiben oder etwas wie Linqpad verwenden, um das Skript mit den Entity Framework Infrastructure-Objekten zu generieren. Sie müssen nur die DLL mit Ihrer DbMigrationsConfiguration-Klasse laden und instanziieren. Hier ist der Code ähnlich wie bei mir:
%Vor%Seit dem 22.10.2017 können Sie es dank dieser PR tun: Ссылка
Hier finden Sie die Release-Informationen zu Entity Framework 6.2, die diese Funktionalität implementieren (siehe Abschnitt "Migrate.exe sollte die Option -script unterstützen"): Ссылка
Befolgen Sie diese Schritte:
migrate.exe yourMigrationAssembly.dll /startupConfigurationFile="..\web.config " /scriptFile="migrationOutput.sql "
Es wird die Datei "migrationOutput.sql" generiert, die das SQL enthält, das Sie in Ihrer Zielumgebungsdatenbank basierend auf den Migrationen ausführen müssen, die noch nicht darauf angewendet wurden.
Tags und Links entity-framework migration