Entity Framework, Автоматически применять Миграции
Сначала я использую код Entity Framework и задаю для AutomaticMigrationsEnabled значение true этим кодом:
Database.SetInitializer(new MigrateDatabaseToLatestVersion<DbContext, MigrateDBConfiguration>());
//////////////////////////////////
public class MigrateDBConfiguration : System.Data.Entity.Migrations.DbMigrationsConfiguration<DbContext>
{
public MigrateDBConfiguration()
{
AutomaticMigrationsEnabled = true;
AutomaticMigrationDataLossAllowed = true;
}
}
При первом запуске проекта он отлично работает и создает базу данных и таблицы. после того, как я изменил модель и уронил какое-то поле или добавил новые поля и запустил Add-Migration, сгенерированный класс миграции, но после запуска проекта возникает это исключение
Исключение типа «System.InvalidOperationException» произошло в EntityFramework.dll, но не было обработано в коде пользователя
Дополнительная информация: Модель, поддерживающая контекст DBContext, изменилась с момента создания базы данных.
РЕДАКТИРОВАТЬ: Как ответАртуро Менчака Я могу изменить код, например, так:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
Database.SetInitializer(new MigrateDatabaseToLatestVersion<DBContext, MigrateDBConfiguration<DBContext>>());
...
Но это исключение:
В базе данных уже есть объект с именем «MyTable».
Я хочу применить мою миграцию.