Entity Framework Core: обнаружение изменений в модели - PullRequest
0 голосов
/ 15 апреля 2020

У меня есть модель

public class BBDB
{
    [Key]
    [ForeignKey("Person")]
    public int Id { get; set; }

    [CanBeNull]
    public string City { get; set; }
}

И добавлено новое свойство. Моя модель стала:

public class BBDB
{
    [Key]
    [ForeignKey("Person")]
    public int Id { get; set; }

    [CanBeNull]
    public string City { get; set; }

    [NotNull]
    public string Date { get; set; }
}

Мне нужно проверить с помощью dbcontext, что эти изменения существуют. Итак, «.ChangeTracker.HasChanges ()» не позволяет мне это делать. Добавить-миграция создать код для внесения изменений. Как я могу проверить, что у нас есть изменения?

1 Ответ

0 голосов
/ 20 апреля 2020

Хорошо. В конце концов, это очень просто ...

Context.Database.Initialize

Это решит нашу проблему. Если в модели есть изменения, которые мы не переносим, ​​происходит сбой с сообщением:

System.Data.Entity.Migrations.Infrastructure.AutomaticMigrationsDisabledException: невозможно обновить базу данных в соответствии с текущей моделью, поскольку имеются ожидающие изменения, а автоматическая миграция c отключена. Либо запишите ожидающие изменения модели в миграцию на основе кода, либо включите автоматическую c миграцию. Установите для DbMigrationsConfiguration.AutomaticMigrationsEnabled значение true, чтобы включить автоматизацию c миграция

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...