0

Я включил миграции для моего проекта ASP.NET MVC. Миграции отлично работают на локальном хосте. Тем не менее, я получил следующее исключение после его развертывания на сервер:Ошибка обновления базы данных на производственном сервере

Не удалось обновить базу данных в соответствии с текущей моделью, так как ожидаемые изменения и автоматическая миграция отключены. Либо записывайте ожидающие изменения модели в миграцию на основе кода, либо разрешайте автоматическую миграцию. Установите для параметра DbMigrationsConfiguration.AutomaticMigrationsEnabled значение true, чтобы включить автоматическую миграцию.
View Stack Trace

Там нет ожидающих миграции, хотя. Добавление новой миграции просто создает пустые Up() & Down()

В чем причина, по которой он не работает на сервере? Я попытался удалить папку миграции, повторно включить миграции, удалить базу данных и позволить EF сделать это заново. Таблицы создаются, но я получаю это исключение.

Update:
Другая вещь, которую я заметил, когда я удалить папку миграции, но не базу данных, а также включить миграции, это только добавляет файл Configuration.cs, когда он должен добавить еще один файл тоже (initialcreate .cs)

+1

который структура сущности, которую вы используете? Вы пытались настроить AutomaticMigrationsEnabled = true? –

+0

Вы применили пустую миграцию с помощью базы данных обновлений? Это должно выровнять модель с моментальным снимком. –

+0

@SimpleMan Я отметил его. Если вы хотите узнать версию, то это 6.1.1. – gldraphael

ответ

0

Это происходит, когда вы делаете буксировать другой запрос на тот же список объектов на то же время без использования .toList

пример:

вы можете создать контекст и получить список TestObjects затем отредактировать один из этих объектов является то сохранить изменения

var objectsList = context.testObjects.where(x=>x.whatever=true) 
objectsList[0].whatever2="asd" 
context.SaveChanges() 

приведенный выше код будет проходить compailer, и он будет не в состоянии во время работы, чтобы решить эту проблему она должна быть ниже

var objectsList = context.testObjects.where(x=>x.whatever=true).ToList() 
    objectsList[0].whatever2="asd" 
    context.SaveChanges() 
+0

Если бы это было проблемой, это не сработало бы и на localhost. – gldraphael