In questo momento, in fase di sviluppo Ho il seguente codice nel file Global.asax.cs che chiama l'Entity Framework (v4.1) SetInitializer con la mia SeedSampleData metodo . Tutto funziona perfettamente.Definire Entity Framework SetInitializer in web.config
Tuttavia, vorrei memorizzare il parametro "strategia" SetInitializer tramite un'impostazione web.config in modo che sia possibile creare uno script di distribuzione che lo imposterà automaticamente su new System.Data.Entity.CreateDatabaseIfNotExists<EfDbContext>()
anziché sul metodo seed durante la distribuzione della produzione.
Il motivo per cui si desidera spostare questo in web.config è che quando lancio una nuova distribuzione sul server di produzione, voglio essere sicuro di non lasciare accidentalmente il mio inizializzatore di semi nel codice.
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...
}
Questo è quello che volevo scoprire. Grazie per l'informazione! – bigmac