В данный момент в разработке у меня есть следующий код в файле Global.asax.cs, который вызывает Entity Framework (v4.1) SetInitializer с моим SeedSampleData методом.Это все работает отлично.
Однако я хотел бы сохранить параметр «стратегии» SetInitializer с помощью параметра web.config, чтобы я мог создать сценарий развертывания, который автоматически установит для него значение new System.Data.Entity.CreateDatabaseIfNotExists<EfDbContext>()
вместо моего начального метода во время развертывания в рабочей среде.,
Причина, по которой вы хотите перенести это в 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...
}