Обработка миграции базы данных при использовании Entity Framework - PullRequest
5 голосов
/ 10 декабря 2010

Мы создаем приложение на C #, которое использует Entity Framework с SQL Server 2008. Мы проектируем модель с помощью конструктора в Visual Studio и автоматически генерируем объекты из этого.

Мы работаем над версией 1.0. Когда мы выпустим 2.0, нам нужно будет внести изменения в модель и структуру базы данных. Я думаю, нам нужно то, что называется "миграцией базы данных".

Традиционно у меня в базе данных есть таблица, которая называется что-то вроде «версия». Всякий раз, когда я создавал новую версию своего программного обеспечения, я создавал сценарии обновления базы данных, содержащие операторы ALTER TABLE. Мое программное обеспечение проверило таблицу версий и запустило сценарии обновления, необходимые для обновления базы данных до «версии программного обеспечения».

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

Ответы [ 2 ]

0 голосов
/ 10 декабря 2010

То, что я делал, когда делал сначала модель, это то, что я указывал свою модель на базу данных, предназначенную исключительно для схемы (поэтому у меня была база данных myapp, на которой работало мое приложение, но моя модель EF4 была выведена на база данных myapp_schema). Когда myapp_schema была обновлена, я использовал Db Source Tools , чтобы сгенерировать сценарии обновления и сделать схему базы данных myapp такой же, как myapp_schema.

0 голосов
/ 10 декабря 2010

Чек этот пост.Речь идет о CTP4 EF4, но это то, что вам нужно.

http://blogs.msdn.com/b/efdesign/archive/2010/10/22/code-first-database-evolution-aka-migrations.aspx

К сожалению, это еще не доступноCTP5 был выпущен несколько дней назад, и, насколько я знаю, он еще не включен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...