Определите Entity Framework SetInitializer в web.config

Прямо сейчас в разработке у меня есть следующий код в файле Global.asax.cs, который вызывает Entity Framework (v4.1) SetInitializerс моим SeedSampleDataметод. Это все работает отлично.

Однако я хотел бы сохранить параметр «стратегия» SetInitializer через настройку web.config, чтобы я мог создать сценарий развертывания, который автоматически установит для него значение new System.Data.Entity.CreateDatabaseIfNotExists ()вместо моего начального метода во время производственного развертывания.

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

protected void Application_Start()
{
  //TODO: Figure out how to move the following lines to web.config and have a deployment script modify it when going to production.

  //This line is for production
  //System.Data.Entity.Database.SetInitializer(new System.Data.Entity.CreateDatabaseIfNotExists<EfDbContext>());

  //This line is for development
  System.Data.Entity.Database.SetInitializer(new Domain.Concrete.SeedSampleData());

  //... Remainder of Application_Start calls here...
}
16
задан bigmac 12 March 2012 в 20:53
поделиться