2013-12-11 2 views
2

Мы используем миграцию кода First и применяем их с использованием DBMigrator.Update() из нашего события Application_Start. В последнее время при развертывании новой миграции мы получили следующее исключение в из Application_Start:В первой транзакции кода используется транзакция?

PK_dbo._ MigrationHistory». Невозможно вставить дублирующий ключ в объект 'dbo. _MigrationHistory '. Дубликат ключа значение (201312020928218_ModifyReport)

Это говорит о том, что 1) Application_Start побежал более чем один раз, и 2) код первой миграции не использовать транзакцию, чтобы предотвратить миграцию же время попытки несколько раз. Если это так, мы должны полностью перенести миграции из приложения и включить их как часть развертывания?

ответ

0

Код Первые миграции не используют транзакции. Я предполагаю, что вы можете настроить миграции для их использования, по крайней мере, в EF6.

Я как бы сражаюсь с подобными проблемами сам в данный момент. Помимо этого я бы поставил обновление как часть развертывания, а не являлся частью приложения.

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