EF Code First Migrations перестали применяться внезапно - PullRequest
0 голосов
/ 06 июня 2019

У меня есть веб-приложение asp.net core 2.2. Я открыл его в Visual Studio 2019 и опубликовал в том же сервисе приложений, в котором я публиковал несколько месяцев. Только сейчас я заметил, что моя последняя миграция EF не применяется. Я исследовал это и обнаружил, что есть какая-то ошибка VS 2019 с этим. Я открыл решение в VS 2017 и попытался опубликовать, но оно все еще не будет применено. Как мне устранить это? У кого-нибудь есть предложения относительно того, что я могу сделать, чтобы обойти эту проблему?

public class AppDbContext : DbContext
{
    public DbSet<MyEntity> MyEntities { get; set; }
    //Bunch of other DbSet's here...

    public AppDbContext(DbContextOptions<AppDbContext> options) : base(options)
    {

    }

1 Ответ

0 голосов
/ 07 июня 2019

EF Code-First проверит ваш DbContext и обнаружит все объявленные в нем коллекции сущностей (а также рассмотрит сущности, связанные с этими сущностями через свойства навигации). Затем он будет смотреть на базу данных, которой вы дали строку подключения, и убедиться, что все таблицы там соответствуют структуре ваших сущностей в модели. Если они не совпадают, то они не могут читать / записывать в эти таблицы.

Вариант 1

Вы можете использовать стратегии инициализации базы данных в Code-First (DropCreateDatabaseAlways) для обновления базы данных тестовой среды. Для получения дополнительной информации, пожалуйста, обратитесь к:

http://www.entityframeworktutorial.net/code-first/database-initialization-strategy-in-code-first.aspx

Вариант 2

Вы можете обновить свою тестовую среду, а затем добавить пустую миграцию. Для получения дополнительной информации, пожалуйста, обратитесь к:

http://devgush.com/2016/02/05/entity-framework-code-first-migrations-in-a-team-environment/

...