Der Fehler, den ich gemacht habe, bestand darin, Database.SetInitializer(null); zu spät aufzurufen (nachdem der Kontext initialisiert wurde). Der beste Weg, um sicherzustellen, dass Migrationen deaktiviert sind, besteht darin, den obigen Aufruf für alle Ihre Kontexte beim Start Ihrer Anwendung zu tätigen. Ich bevorzuge diesen Ansatz gegenüber der Einstellung in der app.config, damit ich meinen Container verwenden kann, um meine Kontexte zu lokalisieren und dann einen Aufruf zu erstellen.
var migrationsMethod = typeof(System.Data.Entity.Database).GetMethod("SetInitializer");
foreach (var contextType in allContextTypes)
{
migrationsMethod.MakeGenericMethod(contextType).Invoke(null, new object[] { null });
}