2015-04-02 3 views
2

Мы используем Entity Framework 6.0 и добавили новую таблицу, используя Code First. Как обычно, мы создали EntityMap и добавили объект и карту в контекст. Когда мы пытаемся обновить базу данных с помощью команды консоли диспетчера пакетов «update-database -script», EF хочет применить все миграции (в том числе те, которые уже находятся в таблице __MigrationHistory).Entity Framework, применяющий слишком много миграций

Кто-нибудь испытал ту же проблему и знает, как ее решить?

Заранее спасибо

+1

Добавляет ли '-Verbose' в команду причину? – Amy

+0

Запустили ли вы предыдущие миграции без -script, чтобы они были применены? Вы можете попробовать добавить параметры -SourceMigration и -TargetMigration. https://msdn.microsoft.com/en-us/data/jj591621.aspx#script –

+0

спасибо @Amy, команда -Verbose приведет нас к решению спецификации -StartUpProjectName – xeraphim

ответ

2

Мы нашли этот вопрос благодаря комментарию @Amy ... При добавлении параметра -Verbose, стало ясно, что миграция будет применяться к (новой) LocalDB. Мы не указали -StartUpProjectName и предположили, что это будет выбран проект по умолчанию. После установки -StartUpProjectName все работало нормально :-)

+0

Существует несколько способов, которые могут произойти, например. уничтожение локального кода и повторное извлечение из источника управления (проект запуска теряется) или переключение проекта запуска на вторичный проект для его отладки (забыв о возврате). –

Смежные вопросы