2014-11-30 3 views
1

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

The model backing the 'UsersContext' context 
has changed since the database was created. 
Consider using Code First Migrations to update the database. 

Что я должен делать?

+0

вместо вставки кода ... и ошибка записи ..... –

+0

Рассматривали ли вы с помощью Code First Миграции для обновления базы данных ? –

+0

Нет, как я могу это сделать? это исправить? Спасибо – OnlyPrograming

ответ

1

Вы получаете эту ошибку, потому что ваша база данных больше не синхронизируется с вашими классами DbContext.

Вы должны смотреть в использовании migrations

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

enable-migrations 

Именно это и подразумевает название. Инициализирует миграцию в вашем проекте. Это создаст папку внутри вашего проекта и сгенерирует необходимые файлы.

add-migration InitialCreate 

Это создает миграцию. InitialCreate на самом деле является строкой, и вы можете изменить ее на все, что захотите. Эта команда создаст сценарии, необходимые для создания базы данных из-за границы.

update-database 

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

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

add-migration AddedFirstName 
update-database 

Это так просто!

Есть несколько более продвинутых концепций, таких как семена, откат, обновление до конкретной миграции и т. Д., Но то, что я набрал выше, охватывает основы и повседневное использование миграций.

Я рекомендую вам прочитать эту статью, которая объясняет все в гораздо более подробно: http://www.asp.net/mvc/overview/getting-started/getting-started-with-ef-using-mvc/migrations-and-deployment-with-the-entity-framework-in-an-asp-net-mvc-application

+0

Подумайте о том, что 'DbContext' относится к Entity Framework (как указано ссылкой, которую вы включили в конце). OP, похоже, не знал об этом. (Обратите внимание, что я добавил тег «entity-framework» к вопросу.) – DavidRR

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