Создайте таблицы базы данных поставщика после RecreateDatabaseIfModelChanges - PullRequest
1 голос
/ 18 ноября 2010

Я новичок в EF4, использую CPT4 Code-First и SQLExpress (MVC2 + Ninject, но это не имеет значения). Это работает хорошо, но у меня есть один вопрос / проблема. Когда я меняю свою модель, база данных отбрасывается и создается обратно, потому что я добавил эту строку в свой OnApplicationStart ()

{ Database.SetInitializer<CorpiqDb>(new RecreateDatabaseIfModelChanges<CorpiqDb>()); } 

Но я использую службы приложений (управление членством и ролями), которые я сначала создал с помощью aspnet_regsql.exe. Но я не хочу запускать его каждый раз, когда меняется моя модель, возможно ли иметь скрипт, который будет добавлять эти особенности моей БД? Что касается сейчас, после изменения моей модели я получаю эту ошибку: Не удалось найти хранимую процедуру 'dbo.aspnet_CheckSchemaVersion'.

Спасибо!

Ответы [ 2 ]

2 голосов
/ 18 ноября 2010

Используйте блок генерации базы данных .Это устраняет необходимость отбрасывать БД при обновлении схемы.

1 голос
/ 30 ноября 2010

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

...