Как Entity Framework Migrations узнает, какая версия базы данных?

Сначала используя код Entity Framework 5, мне интересно, как EF Migrations решает, что целевая база данных находится в определенной версии миграции? То есть я очистил свою базу данных (удалил все таблицы) и пытаюсь заново выполнить первоначальную миграцию с помощью следующей команды (в консоли PM): update-database -targetmigration 201212011907118_Initial. update-database затем отвечает: «Целевая база данных уже имеет версию 201212011907118_Initial».


person aknuds1    schedule 08.12.2012    source источник


Ответы (1)


Судя по всему, Code First Migrations поддерживает таблицу под названием «dbo.__MigrationHistory», в которой хранятся метаданные о примененных миграциях. Это системная таблица, что затрудняет, например, Удалить. См. этот пост для справки.

person aknuds1    schedule 08.12.2012
comment
В моей БД еще нет таблицы __MigrationHistory, но миграция по-прежнему сообщает мне, что БД уже находится в моей целевой версии (это не так). - person Josh M.; 15.03.2013