Databasen kommer bara att skapas när du faktiskt använder sammanhanget.
Om du har åsidosatt Seed-metoden i din initializer enligt följande:
protected override void Seed(MyContext context){...}
Seed-koden kommer bara att köras när du använder en instans av MyContext.
Det är därför det fungerar när du använder
var ctx = new MyContext();
ctx.Database.Initialize(true);
Du kan alltid tvinga den att skapa genom att använda ditt sammanhang i Application_Start()-metoden i Global.asax.cs som:
System.Data.Entity.Database.SetInitializer(new MyInitializer());
MyContext db = new MyContext();
db.Database.Initialize(true);
//or even something like db.Users.Count();
Eller så skapas den senare när du använder ditt sammanhang. Det kan ha sett ut som om det hade slutat fungera eftersom du tog bort någon kod som skulle använda sammanhanget vid start av programmet.