Как вызвать Database.SetInitializer на основе модели?

Я создал модель в редакторе edm (VS10), используя «Генератор сущностей DbContext» в качестве элемента генерации.

В сгенерированном подклассе DbContext он переопределил конструктор, поэтому я не могу использовать его в другом частичном классе:

public EntitiesContainer()
    : base("name=EntitiesContainer")
{
    this.Configuration.LazyLoadingEnabled = false;
}

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


person Shimmy Weitzhandler    schedule 21.11.2011    source источник


Ответы (2)


Вы можете изменить шаблон T4, который используется для создания класса DbContxt. Затем вы можете добавить частичные модификаторы или методы, которые хотите использовать для инициализации вашего контекста.

person Wouter de Kort♦    schedule 21.11.2011

При первом использовании модели автоматическая инициализация базы данных отсутствует. Вы должны сгенерировать сценарий SQL из модели (используйте контекстное меню в конструкторе EDMX и выберите «Создать базу данных из модели») и выполнить его самостоятельно в существующей базе данных.

SetInitializer только для кода.

person Ladislav Mrnka    schedule 21.11.2011