В моем проекте ASP.NET Entity Framework 6 я добавил новую модель и контроллер.У меня включена автоматическая миграция, но разрешена потеря данных.
Когда я запустил приложение после этих изменений, новая таблица фактически была создана в БД, но приложение сообщило мне:
Автоматическая миграция не применялась, поскольку это привело бы к потере данных
Без каких-либо других подробностей.Как читалось в других вопросах, я пытался выдать:
Database-Update -Script
, чтобы получить «различия», но ничего не произошло, просто сообщение об ошибке.Я действительно не хочу форсировать обновление, если не уверен, что оно собирается делать.
Что мне делать, чтобы получить содержимое текущей миграции?Я пытался заглянуть в таблицу dbo .__ MigrationHistory, но поле Model содержит двоичные данные.
UPDATE
Мне удалось декодировать поле Model, используя этот метод, нофайл edmx содержит только всю диаграмму базы данных, а не фактические команды, которые будет выполнять миграция.
Более того, даже если добавить флаг -Verbose
, как предложено самим инструментом:
PM> Update-Database -Verbose
Using StartUp project 'MyProject'.
Using NuGet project 'MyProject'.
Specify the '-Verbose' flag to view the SQL statements being applied to the target database.
Не отображаются операторы SQL ...