最近 Code First Migrations の使用を開始し、各Upメソッドにデータをシードしたいと考えていました。
これは可能ですか?
すなわち。
- データベース テーブルの作成
- データで埋める
ドロップの場合:
- 結合テーブルからデータを削除する
- テーブルを削除
最近 Code First Migrations の使用を開始し、各Upメソッドにデータをシードしたいと考えていました。
これは可能ですか?
すなわち。
ドロップの場合:
はい、可能ですが、SQL コマンドを実行して行う必要があります。移行のメソッドとメソッドのSql
両方でメソッドを使用して、 SQL コマンドを実行します。Up
Down
INSERT
DELETE
public partial class DBInitializer : IDatabaseInitializer<DBContext>
{
public void InitializeDatabase(DBContext context)
{
var cfg = new Migrations.Configuration();
var migrator = new DbMigrator(cfg);
List<string> pendingMigrations = new List<string>(migrator.GetPendingMigrations());
foreach (string migration in pendingMigrations)
{
Console.WriteLine("Updating Migration:" + migration);
migrator.Update(migration);
Console.WriteLine("Updated Migration:" + migration);
if (migration.Contains("AddMyProperty"))
{
// seed data codes
context.SaveChanges();
}
}
}
}