2013-08-27 18 views
15

weiß jemand, wie Sie ein bestimmtes Update mit EF 5 Migrationen säen können? Ich habe bereits vorhandene Datenbank, hat Nachschläge aufgefüllt, und ich entwickle einige Audit-Funktionen. Ich habe eine AuditType-Entität und Audit erstellt. Wenn ich update-database anrufe, möchte ich nicht alle meine Seed-Daten von, als ich die Datenbank zum ersten Mal neu hinzugefügt habe. Muss ich einfach die vorhandenen Seed-Daten manuell löschen oder kann ich etwas wie eine Configuration.cs mit der Datetime benennen, ähnlich wie beim Erstellen einer Add-Migration?Entity Framework Migration und Seeding spezifische Aktualisierung

Dank

Antwort

30

Sie können durch Angabe des Namens der Migration eine spezifische Migration führen. Wenn Sie eine Migration genannt MyTuesdayMigration.cs Zum Beispiel haben, in der Paket-Manager-Konsole, würden Sie diesen Befehl ausführen:

update-database -TargetMigration MyTuesdayMigration 
+0

Hallo Greg, würden Sie also Ihre "Seeding" -Anweisungen, die sich auf das jeweilige Update/Upgrade in der "Up" -Methode in Ihrer "MyTuedayMigration" beziehen, anstatt die "Seed" -Methode in der Konfiguration verwenden. cs, die, wenn ich alles richtig eingerichtet habe, auf Migrations-Ordner-Ebene und nicht in Migrationen-> MyTuesdayMigration ?? – CheGuevarasBeret

+0

Ja, legen Sie es in die up-Methode. In Ihrem Fall wollen Sie nicht, dass Ihre Seed-Methode die Daten auffüllt (wenn mein Verständnis stimmt). Es gibt nichts Besonderes an der up-Methode. Sie können es jederzeit ausführen. – Greg

0

Sie müssen möglicherweise Daten löschen, so dass Sie -fore Update-Datenbank -TargetMigration verwenden sollten Migrationsname -force

Verwandte Themen