Прямо сейчас в разработке у меня есть следующий код в файле 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...
}