Comment puis-je désactiver la migration dans Entity Framework 6.0?

J’essaie d’ignorer la migration “automatique” en utilisant Entity Framework 6.0 rc1. Mon problème est que je ne veux pas cette fonctionnalité pour le moment et à chaque fois que mon application s’exécute, je peux voir tous les journaux d’entité essayant de créer toutes les tables.

Anticiper merci

    Essaye ça:

     internal sealed class Configuration : DbMigrationsConfiguration { public Configuration() { AutomaticMigrationsEnabled = false; } } 

    METTRE À JOUR:

    Vous pouvez également essayer ceci:

     Database.SetInitializer(new CreateDatabaseIfNotExists()); 

    Vous pouvez mettre cela dans votre section entityFramework du fichier app.config:

        

    Cette page msdn raconte tout sur la section de configuration Entity Framework .

    Via web.config, voir – https://msdn.microsoft.com/en-us/data/jj556606.aspx#Initializers

    Via Code (bizarrement, réponse BEAUCOUP plus simple)

     public class MyDB : DbContext { public MyDB() { Database.SetInitializer(null); } } 

    ou dans Global.asax.cs

     public class MvcApplication : System.Web.HttpApplication { protected void Application_Start() { // ... Database.SetInitializer(null); /// ... } } 

    L’erreur que je commettais était d’appeler Database.SetInitializer (null); trop tard (après l’initialisation du contexte). La meilleure façon de vous assurer que les migrations sont désactivées consiste à faire l’appel ci-dessus pour tous vos contextes au démarrage de votre application. Je privilégie cette approche plutôt que de la définir dans app.config afin que je puisse utiliser mon conteneur pour localiser mes contextes et ensuite construire un appel.

     var migrationsMethod = typeof(System.Data.Entity.Database).GetMethod("SetInitializer"); foreach (var contextType in allContextTypes) { migrationsMethod.MakeGenericMethod(contextType).Invoke(null, new object[] { null }); } 

    Si vous avez trouvé cette question en espérant une réponse simple pour désactiver les migrations parce que vous avez tapé “Enable-Migrations” et que les choses ne fonctionnent plus comme prévu, comme ne pas exécuter la méthode de départ, pensez à la solution explorer et supprimer le dossier Migrations. Cela empêchera le code d’examiner la configuration des migrations pour trouver le code d’initialisation. Pour récupérer le dossier Migrations, exécutez simplement “Enable-Migrations” à nouveau.

    La désactivation de la migration automatique peut également être configurée lors de l’appel de la commande enable-migrations (qui crée la classe Configuration ), en utilisant le paramètre EnableAutomaticMigration avec la valeur false :

     enable-migrations -EnableAutomaticMigration:$false -ContextTypeName FullyQualifiedContextName 

    Le va créer une classe de Configuration qui définit la propriété AutomaticMigrationsEnabled sur false, comme dans la réponse ci-dessus.

    Le paramètre EnableAutomaticMigration de la commande enable-migrations est mentionné dans cet article de la page du didacticiel Entity Framework (toutefois, ils l’utilisent avec la valeur true qui semble être la valeur par défaut).