最近开始使用Code First Migrations,并希望在每个 Up 方法中播种数据。
这可能吗?
即
for Drop:
答案 0 :(得分:6)
是的,但是必须通过执行SQL命令来实现。在迁移的Sql
和Up
方法中使用Down
方法执行INSERT
和DELETE
SQL命令。
答案 1 :(得分:3)
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();
}
}
}
}