2011-03-28 5 views
5

Использование подхода, основанного на кодах, доступного в новом 4.1 RC.Сохранение содержимого базы данных при изменении модели

Есть ли способ сохранить текущие данные, хранящиеся в базе данных при изменении режима? База данных создается инфраструктурой сущности, и обычно база данных отбрасывается и воссоздается при изменении модели.

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

+0

Возможно, что-то связано с http://stackoverflow.com/questions/4485742/ef-code-first-recreate-database-if-model-changes –

ответ

3

Код в первую очередь не поддерживает миграцию/эволюцию базы данных. Если вы хотите сделать инкрементную разработку БД, сначала используйте модель (EDMX) с шаблоном T4 DbContext Generator и Entity designer database generation, который способен создавать diff. скрипты из модели.

2

From Scott Gu:

Важно, однако, автоматически создавать вариант базы данных является только вариант - это , безусловно, не требуется. Если вы укажите свою строку подключения в существующей базе данных , тогда EF «code first» не будет пытаться создать один автоматически. Автоматически воссоздать вариант также не будет включен, если вы явно не хотите EF, чтобы сделать это - так вам не нужно беспокоиться об этом капельных и воссоздание базы данных , если вы не указали явно вам хотите для этого.

+0

Но это также означает, что мне придется вручную отредактировать схему базы данных снова верните режим снова? –

+0

Наверное ... честно говоря, я не думал, что это было так же важно, но похоже, что код сначала не сохранит модель и db в синхронизации без перезаписи БД – taylonr

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