0

J'utilise entity Framework 6 avec MVC 5 et j'essaie d'activer d'abord la migration dans le code pour éviter les pertes de données. Mais lorsque le type de la commande dans la console de gestionnaire de paquets, il jette l'erreur suivante:Code d'abord Activer l'erreur de migration dans Entity Framework 6 MVC 5

PM> Enable-Migrations -ContextTypeName [ContextClassName] The term 'Enable-Migration' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.At line:1 char:1 + Enable-Migrations -ContextTypeName [ContextClassName] + ~~~~~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (Enable-Migration:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException

J'ai vérifié tous les doublons, mais aucun d'entre eux travaillaient dans mon cas.

+0

La base de données de mise à jour fonctionne-t-elle? – Neil

+2

https://stackoverflow.com/a/23154834/4361743 – karman

Répondre

3

Il existe deux scénarios possibles ici.

  1. Entity Framework n'est pas installé ou n'est pas installé correctement. Si vous avez en fait une référence à, puis d'abord faire:

    PM> Uninstall-Package EntityFramework -Force 
    

    Ensuite,

    PM> Install-Package EntityFramework 
    

    Assurez-vous de redémarrer Visual Studio après

  2. Vous êtes en fait en utilisant Entity Framework Core ou vous avez ajouté Entity Framework à un projet ASP.NET Core exécuté sur l'infrastructure complète. Dans l'un de ces cas, aucune des commandes du gestionnaire de packages Entity Framework ne sera disponible. Si vous avez installé EF Core par erreur, supprimez-le et installez EF6 à la place. Si vous avez un projet ASP.NET Core, vous devez ajouter une application de console ou une bibliothèque de classes exécutée sur l'infrastructure complète de la référence EF6. Vous allez gérer toutes vos entités ici, ainsi que d'exécuter vos commandes de gestionnaire de paquets sur ce projet. La raison en est que les commandes du gestionnaire de paquets EF6 sont incompatibles avec ASP.NET Core, même si vous utilisez le framework complet.

+0

génial !! cela a fonctionné de la même manière que tu l'as dit. merci Chris – LogicalDesk