Я работаю над проектом, который использует Entity Framework 4.1 для сохранения наших различных объектов в базе данных (сначала код).
Я тестирую в Visual Studio с локальной базой данных SQL Express, и наш сервер Jenkins развертывает принятый код на тестовом сервере. Когда это происходит, я временно изменяю строку локального соединения, чтобы указать на тестирующий сервер БД, и запускаю модульный тест, чтобы заново создать тестовую базу данных, чтобы она соответствовала нашим последним объектам и т. Д.
Я недавно заметил, что наш тестовый сервер выдает эту ошибку:
Модель, поддерживающая контекст EntityFrameworkUnitOfWork, изменилась с момента создания базы данных. Либо удалите / обновите базу данных вручную, либо вызовите Database.SetInitializer с экземпляром IDatabaseInitializer. Например, стратегия DropCreateDatabaseIfModelChanges автоматически удалит и заново создаст базу данных и при необходимости заполнит ее новыми данными.
Обычно это указывает на то, что наш код изменился, и мне нужно запустить модульный тест, чтобы заново создать базу данных. За исключением того, что я только что сделал это! Я не верю, что с нашим процессом развертывания что-то не так - библиотеки DLL на тестовом сервере имеют те же версии, что и в моей локальной среде. Существуют ли какие-либо другие параметры или факторы среды, которые могут вызвать эту ошибку при изменении модели с момента создания базы данных?
Я новичок здесь - спасибо за любую помощь!