Этот вопрос задавался пару раз, но ни одно из решений / документации не работает для меня.
Сценарий - мне нужно создать базу данных с нуля и отредактировать ее с миграциями всего кода, согласнодокументация, приведенная ниже, должна создать базу данных из DbContext / ModelBuilder.
_dbContext.Database.Migrate();
, однако это только создание самой базы данных и ни одной из таблиц.Если вместо этого запустить ниже,
_dbContext.Database.EnsureCreated();
база данных И все таблицы будут созданы, однако это не вариант, так как мне нужно редактировать с миграциями дальше по линии.Я попробовал приведенный ниже код сразу после строки Migrate, но pendingMigrations всегда равен 0.
var pendingMigrations = _dbContext.Database.GetAppliedMigrations().ToList();
if (pendingMigrations.Any())
{
var migrator = _dbContext.Database.GetService<IMigrator>();
foreach (var targetMigration in pendingMigrations)
migrator.Migrate(targetMigration);
}
Есть ли что-то, что я здесь упускаю?Разве Database.Migrate () не должен создавать таблицы и базу данных?
Примечание. При тестировании я удаляю базу данных перед тем, как попробовать другой подход.