Databáze bude vytvořena pouze tehdy, když skutečně použijete kontext.
Pokud jste ve svém inicializátoru přepsali metodu Seed takto:
protected override void Seed(MyContext context){...}
Seed kód se spustí, pouze když použijete instanci MyContext.
Proto to funguje, když používáte
var ctx = new MyContext();
ctx.Database.Initialize(true);
Vždy můžete vynutit jeho vytvoření pomocí svého kontextu v metodě Application_Start() v Global.asax.cs jako:
System.Data.Entity.Database.SetInitializer(new MyInitializer());
MyContext db = new MyContext();
db.Database.Initialize(true);
//or even something like db.Users.Count();
Nebo bude vytvořen později, když použijete svůj kontext. Mohlo to vypadat, že přestalo fungovat, protože jste odstranili nějaký kód, který by při spouštění aplikace používal kontext.