2013-08-27 2 views
15

EF 5の移行を使用して特定の更新プログラムをシードできる方法は誰にでも分かりますか?私は既存のデータベースを持っており、alredyには参照があり、いくつかの監査機能を開発中です。 AuditTypeエンティティと監査を作成しました。私がupdate-databaseを呼び出すと、最初にデータベースを作成したときの私のシードデータをすべて再追加する必要はありません。私は単純に既存のシードデータを削除しなければならないのでしょうか、または追加マイグレーションを呼び出すときに作成されるdatetimeに似たConfiguration.csという名前を付けてもいいですか?エンティティフレームワークの移行とシードの特定の更新

ありがとうございます。

答えて

30

マイグレーションの名前を指定して特定のマイグレーションを実行できます。たとえば、あなたがMyTuesdayMigration.csという移行を持っている場合は、パッケージマネージャコンソールでは、このコマンドを実行します:あなたは-fore 更新データベース-TargetMigrationを使用する必要がありますので

update-database -TargetMigration MyTuesdayMigration 
+0

こんにちはGregので、設定で「シード」メソッドを使用するのではなく、「MyTuedayMigration」の「Up」メソッドでその特定の更新/アップグレードに関連する「シード」ステートメントを配置しますか。私がすべてを正しく設定していれば、Migrationsフォルダのレベルにあり、Migrations-> MyTuesdayMigrationにはありません。 – CheGuevarasBeret

+0

はい、アップメソッドに配置します。あなたのケースでは、あなたのシードメソッドが(私の理解が正しい場合)データを設定することは望ましくありません。アップメソッドに関して特別なことはありません。あなたはいつでもそれを実行することができます。 – Greg

0

あなたはデータを削除する必要があるかもしれませんMigrationName -force

関連する問題