Базата данни ще бъде създадена само когато действително използвате контекста.
Ако сте заменили метода Seed във вашия инициализатор, както следва:
protected override void Seed(MyContext context){...}
Началният код ще се изпълнява само когато използвате екземпляр на MyContext.
Ето защо работи, когато използвате
var ctx = new MyContext();
ctx.Database.Initialize(true);
Винаги можете да го принудите да създаде, като използвате вашия контекст в метода Application_Start() в Global.asax.cs като:
System.Data.Entity.Database.SetInitializer(new MyInitializer());
MyContext db = new MyContext();
db.Database.Initialize(true);
//or even something like db.Users.Count();
Или ще бъде създаден по-късно, когато използвате вашия контекст. Може да изглежда, че е спряло да работи, защото сте премахнали някакъв код, който ще използва контекста при стартиране на приложението.