Подтвердить что ты не робот

Переходы Entity Framework перестали обнаруживать обновления POCO

Я использую миграции Entity Framework и Entity Framework для реализации решения с использованием кодовых и автоматических миграций.

Он работал отлично, но внезапно он прекратил обнаруживать обновления, которые я делаю в своем POCO. Теперь, когда я добавляю новое свойство (очень простые свойства, такие как возраст или электронная почта) и выполняю Update-Database, ничего не происходит, и это дает мне следующее:

Укажите флаг '-Verbose' для просмотра команд SQL, выполняемых во время миграции.
Найдено 0 ожидающих явных миграций: [].
Добавление данных семян (если метод Seed переопределен в классе настроек миграции).

и ничего не обновляется!

Есть ли у кого-нибудь идеи, почему это происходит?

4b9b3361

Ответ 1

Это может быть по двум причинам:

  • В коде есть другой код DbContext, поэтому автоматические миграции не могут решить, какой контекст использовать.
  • Существует некоторое новое изменение, которое проводит сравнение схемы и модели кода, поэтому EF просто не может найти разницу.

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

Несколько лет назад я разработал крошечный ORM на основе Linq2SQL, AcroDB Library, и он использовал автоматизацию SubSonic. Почти то же самое, что и миграция EF. Это было прекрасно для небольших проектов и небольшого объема данных для обработки или изменения, но когда проект вырос до 15 + столов, это стало кошмаром. Именно поэтому MS анонсировала "Кодовые миграции" в последнее время. Они более обеспечены и лучше для проекта. Кроме того, вы можете взглянуть на Migrator.Net (к этому времени это немного лучше, чем EF).