Я получаю следующую ошибку при запуске приложения mvc 4.Изменена модель, поддерживающая контекст «DMSContext».
Модель, поддерживающая контекст «DMSContext», изменилась с момента создания базы данных. Рассмотрите возможность использования First First Migrations для обновления базы данных
Я запускаю свое приложение против существующей базы данных и не хочу воссоздавать db каждый раз, когда изменяется модель.
Я нашел много ответов на google, но никто не работал.
В частности, я попытался добавить следующее к моей global.asax:
Database.SetInitializer<DMSContext>(null);
и
Database.SetInitializer<DMSContext<Contact>>(null);
в выше, DMSContext является DbContext. Контакт - это модель, в которой происходит изменение, вызывающее ошибку.
Я также попытался добавить следующее к моему классу контекста:
public DMSContext() : base()
{
Configuration.AutoDetectChangesEnabled = false;
}
Большинство направлении я затем с этой страницы, но не повезло.
The model backing the <Database> context has changed since the database was created
Это сработало, НО зачем мне нужно обновлять базу данных? Действительно ли это происходит в реальном времени? Я определенно этого не хочу. Я уже включил миграции, используя это руководство - http://msdn.microsoft.com/en-us/data/jj591621.aspx, но избегал использования части базы данных обновлений. – tintyethan
@ EthanPelton С 'ef Code-First' небольшое изменение в вашей модели требует обновления базы данных. Модели всегда должны оставаться в силе с вашей базой данных. «Обновление-База данных -Force» делает это возможным. – Komengem
@ EthanPelton Да, изменение вашей модели влияет на вашу «Живую базу данных». Это красота кода. Сначала вы делаете изменения только в одном месте и редко приходите к самой базе данных. – Komengem