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