Entity Framework 4.0 - создание сценария изменения - PullRequest
4 голосов
/ 11 ноября 2010

Я построил свое приложение, используя EF 4.0 (MS SQL 2008), и модель становится все больше.

Моя проблема в том, когда я добавляю в модель новые таблицы / ограничения и т. Д.создать сценарий для создания моей базы данных SQL, но он удаляет все таблицы, поэтому я теряю все данные.: - (

Кто-нибудь знает, как просто сгенерировать скрипт изменения, чтобы я мог хранить данные и просто обновлять базу данных?

Заранее спасибо.

Сёрен

Ответы [ 3 ]

2 голосов
/ 16 мая 2011

Если у вас есть экземпляр как существующей, так и новой базы данных, вы можете попробовать Redgate SQL Compare , чтобы создать скрипт изменения. Я могу рекомендовать это, потому что в настоящее время я тестирую его, чтобы встроить в наш процесс развертывания управления изменениями (пока не владею продуктом, но оцениваю)

Редактировать - я изначально поставил контроль исходного кода sql, но на самом деле имел в виду сравнение SQL. Исправлено.

0 голосов
/ 11 марта 2012

Я предлагаю приобрести Power Generation Power Pack , который позволит вам автоматически генерировать скрипты изменений. Вы просто нажимаете «Создать базу данных из модели», как обычно, с установленным пакетом.

0 голосов
/ 11 марта 2012

То, как я это делаю, - это превращение в базы данных 2 sql.

Первый - EF, где я делаю эти критические изменения и т.д. (Project_SchemaDB).

Во-вторых, я мог бы провести некоторое тестирование данных (Project_DataDB).

VS2010 поставляется с довольно хорошим проектом базы данных, который позволит вам записывать изменения (дельты) между базами данных, а затем применять их.

Итак ... процедура такая.

Изменить подключение EF к Project_SchemaDB и внести изменения, автоматически сгенерировать sql.

Теперь откройте проект базы данных в vs2010, сравните схему между Project_SchemaDB & Project_DataDB и, если вы счастливы, примените изменения.

Когда вы запускаете приложение, убедитесь, что ваше соединение с Project_DataDB.

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

...