1

У меня есть приложение, использующее EF 4.1 (с использованием первого вкуса модели), и я хочу инициализировать базу данных, когда модель обновляется, а база данных удаляется и воссоздается.Как инициализировать базу данных при использовании EF MF?

Я потратил часы, пытаясь найти достойную документацию по этому вопросу, и я думал, что путь к Database.SetInitializer - это путь, но, оказывается, для этого требуется DbContext, а созданный код использует ObjectContext.

Я считаю, что я могу притворяться под капотом, чтобы переключать шаблоны T4, чтобы использовать DbContext, но, безусловно, должен быть способ работать с готовым кодом, сгенерированным моделью?

[Должен ли я просто отказаться от модели первого вообще?]

+0

Возможный дубликат [Как вызвать Database.SetInitializer для первой модели?] (Http://stackoverflow.com/questions/8206058/how-to-call-database-setinitializer-on-model-first) –

ответ

3

Модель первый подход не имеет автоматическую генерацию базы данных.

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