Сначала измените схему MVC 3 EF Code - PullRequest
1 голос
/ 14 мая 2011

Я собираю веб-сайт, используя MVC 3 EF Code-First, который подключается к SQL Server.

По какой-то причине, когда я поднимаю его в SQL Server, я вижу только четыре или пять классов моделей в таблицах.

Тот, который я изменил, там нет. Я подумал, что он еще не создан, потому что никто не пытался поместить в него какие-либо данные. Так как его там не было, я попытался создать и запустить веб-сайт из Visual Web Developer, и он потерпел крах, когда попытался отобразить свою таблицу.

Я не уверен, как вручную обновить мою таблицу, если она отсутствует в SQL Server.

Есть какие-нибудь догадки, как я обманываю это?

РЕДАКТИРОВАТЬ: У меня был некоторый успех с классами Initializer, но у меня много таблиц, и мне лень добавлять классы Initializer для всех моих таблиц, когда я могу просто изменить схему. (Это лень плохо?)

1 Ответ

3 голосов
/ 14 мая 2011

Используйте это при запуске вашего приложения:

Database.SetInitializer(new DropCreateDatabaseIfModelChanges<YourContextType>());

Это заставит EF удалять и воссоздавать вашу базу данных каждый раз, когда вы меняете классы модели. Следует использовать только для разработки.

...