EF (Entity Framework) 4.3 Средство миграции не работает в БД EF 4.1 - PullRequest
6 голосов
/ 02 марта 2012

Я хочу изменить одну БД, которая была разработана с EF 4.1 (Code First).Я обновил проект до EF 4.3 и выполнил следующие действия: http://blogs.msdn.com/b/adonet/archive/2012/02/09/ef-4-3-automatic-migrations-walkthrough.aspx

Все идет хорошо, но когда я хочу проверить текущую БД (сначала код EF 4.1), Update-Database вызывает эту ошибку:

Невозможно скомпоновать следующую миграцию, поскольку целевая база данных была создана с версией Code First более ранней, чем EF 4.3, и не содержит таблицу истории миграций.Чтобы начать использовать миграции с этой базой данных, убедитесь, что текущая модель совместима с целевой базой данных, и выполните процесс обновления миграций.(В Visual Studio вы можете использовать команду Update-Database из консоли диспетчера пакетов для выполнения процесса обновления миграций.)

Мне было интересно, как я могу перенести EF 4.1 (Code First) DB?Кроме того, эта БД жива и имеет данные, и я не могу удалить таблицы.

Ответы [ 2 ]

8 голосов
/ 02 марта 2012

Вам необходимо создать пустую миграцию и выполнить ее до внесения изменений в вашу модель. Это создаст таблицу истории миграции для вас. После этого вы можете использовать миграции для новых изменений. Я написал статью про эту тему .

0 голосов
/ 05 августа 2013

Запустите «Add-Migration InitialMigration -IgnoreChanges» перед внесением любых изменений в модель. Внесите необходимые изменения, затем запустите «update-database»

...