@denism7

Как синхронизировать данные при использовании EF CodeFirst?

Пишу простенький магазинчик на ASP.NET MVC. Так как вопрос производительности не стоит, в качестве СУБД пока выбрал SQL Server CE. Не дает покоя очень глупый вопрос.


Итак, изначально есть девелоперская версия базы, которая генерируется CodeFirst-ом и автоматически publish-ится вместе с сайтом на сервер, после чего живет там своей жизнью (наполняется). В это время, я допиливаю сайт и структура данных постепенно надстраивается, т.е. добавляются поля и таблицы. К счастью, EntityFramework в последней версии поддерживает простейшие миграции автоматически и в девелоперской копии данные не теряются, но что делать с продакшн копией в которой куча данных?


Ведь при следующем паблишинге на сервер зальется полупустая девелоперская БД? Как настроить студию чтобы она обновляла структуру, но не трогала данные?
  • Вопрос задан
  • 2703 просмотра
Пригласить эксперта
Ответы на вопрос 2
AlexandrDP
@AlexandrDP
C#, ASP .NET MVC, WindowsPhone, Android
Тоже искал ответ на этот вопрос, и ничего удобного не нашел.
Миграции что появились, мне не понравилось — много манипуляций, и есть огромный шанс грохнуть данные.
Пока рассматриваю такой вариант. Сделать свой инициализатор на основе DropCreate, но функцией:
RenameDB -> RenameDB_ver -> CreateDB и TSQL код переноса данных RenameDB_ver -> CreateDB.
Ответ написан
@lair
К счастью, EntityFramework в последней версии поддерживает простейшие миграции автоматически и в девелоперской копии данные не теряются, но что делать с продакшн копией в которой куча данных?

Если вы используете EF CodeFirst migrations, то вы можете сделать любой код по миграции данных.

Ведь при следующем паблишинге на сервер зальется полупустая девелоперская БД? Как настроить студию чтобы она обновляла структуру, но не трогала данные?

А что вы понимаете под «паблишингом»?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы