使用EF迁移我希望自动运行针对环境的迁移。我知道我可以通过PowerShell调用Update-Database来实现这一点,但有没有办法通过框架实现这一点而无需启动外部进程?
答案 0 :(得分:1)
是的,在您的DbContext中:
public static void SetInitializer()
{
Database.SetInitializer(new MigrateDatabaseToLatestVersion<DataContext, Configuration>());
}
配置位置:
internal sealed class Configuration : DbMigrationsConfiguration<DataContext>
{
public Configuration()
{
AutomaticMigrationsEnabled = true;
}
}
您仍然需要发布一个迁移文件,用于进行将导致数据删除的更改(除非您在Configuration类中将AutomaticMigrationDataLossAllowed设置为true - 危险!)但您可以使用Add-Migration创建这些文件PMC中的命令。