De database wordt pas aangemaakt als je de context daadwerkelijk gebruikt.
Als je de Seed-methode in je initializer als volgt hebt overschreven:
protected override void Seed(MyContext context){...}
De Seed-code wordt alleen uitgevoerd wanneer u een instantie van MyContext gebruikt.
Daarom werkt het als je
var ctx = new MyContext();
ctx.Database.Initialize(true);
Je zou het altijd kunnen forceren om te creëren door je context te gebruiken in de Application_Start() methode in Global.asax.cs zoals:
System.Data.Entity.Database.SetInitializer(new MyInitializer());
MyContext db = new MyContext();
db.Database.Initialize(true);
//or even something like db.Users.Count();
Of het wordt later gemaakt wanneer u uw context gebruikt. Het leek erop dat het niet meer werkte omdat je code hebt verwijderd die de context zou gebruiken bij het opstarten van de applicatie.