Код EF Core 2.1: во-первых, как добиться автоматической миграции во время выполнения 。。 - PullRequest
0 голосов
/ 08 января 2019

Я хочу автоматически переносить изменения при запуске программы, поэтому код написан так. Но за исключением первого раза, как бы ни изменялась модель, миграция не имеет никакого эффекта.

            using (var serviceScope = app.ApplicationServices.GetRequiredService<IServiceScopeFactory>()
                .CreateScope())
            {
                var database = serviceScope.ServiceProvider.GetService<StuDb>().Database;
                database.Migrate();
            }

Итак, я предпринял много других попыток, таких как переход на этот

    database.EnsureDeleted();
    database.EnsureCreated();

Удалить базу данных.Migrate (); Добавьте два предложения выше , Это позволяет каждый раз применять последнюю модель, но есть и проблема, то есть данные будут очищаться каждый раз. Это большая проблема для развития. Я хочу, чтобы данные были сохранены для облегчения последующего контроля, такого как функциональное тестирование.

Есть ли способ перенести модель базы данных в самую последнюю модель объекта при сохранении данных?

Пожалуйста, помогите мне. Спасибо! Любая помощь будет принята с благодарностью.

...