Сначала используя код Entity Framework 5, мне интересно, как EF Migrations решает, что целевая база данных находится в определенной версии миграции? То есть я очистил свою базу данных (удалил все таблицы) и пытаюсь заново выполнить первоначальную миграцию с помощью следующей команды (в консоли PM): update-database -targetmigration 201212011907118_Initial
. update-database
затем отвечает: «Целевая база данных уже имеет версию 201212011907118_Initial».
Как Entity Framework Migrations узнает, какая версия базы данных?
Ответы (1)
Судя по всему, Code First Migrations поддерживает таблицу под названием «dbo.__MigrationHistory», в которой хранятся метаданные о примененных миграциях. Это системная таблица, что затрудняет, например, Удалить. См. этот пост а> для справки.
person
aknuds1
schedule
08.12.2012
В моей БД еще нет таблицы
__MigrationHistory
, но миграция по-прежнему сообщает мне, что БД уже находится в моей целевой версии (это не так).
- person Josh M.; 15.03.2013