web-dev-qa-db-fra.com

Impossible d'activer les migrations pour Entity Framework dans la bibliothèque de classes

Je viens d'embarquer avec EF 5 et j'utilise leur outil de migration en premier code, mais je semble obtenir une erreur lorsque j'essaie d'activer les migrations.

J'écris Enable-Migrations dans la console du gestionnaire de packages, puis il indique

Aucune classe dérivant de DbContext trouvée dans le projet en cours.
Modifiez la classe de configuration générée pour spécifier le contexte pour lequel activer les migrations.
Code First Migrations activé pour le projet MyApp.MvcUI.

Il crée ensuite un dossier Migrations et une classe de configuration dans mon projet MvcUI. Le fait est que mon DbContext vit dans un projet de bibliothèque de classe appelé MyApp.Domain. Il devrait faire tout cela dans ce projet et ne devrait avoir aucun problème à trouver mon DbContext.

43
Chev

Oh wow, peu importe. Je suis stupide.

Dans la console du gestionnaire de paquets Nuget, il y a un menu déroulant en haut intitulé "Projet par défaut:". Assurez-vous de définir cela sur le projet sur lequel vous souhaitez exécuter la commande.

J'espère que cela aidera quelqu'un d'autre à éviter mon erreur embarrassante.

106
Chev

Il existe en fait 3 façons d'exécuter des commandes Nuget dans un projet spécifique:

  1. [Package Manager Console] Définissez le projet actif dans la liste déroulante en haut de la fenêtre d'outils de la console
  2. [Console du gestionnaire de packages] Recherchez un paramètre pour spécifier le projet. Pour certaines applets de commande, j'ai vu -ProjectName et certains utilisent -Project
  3. [Explorateur de solutions] Cliquez avec le bouton droit sur le projet souhaité et utilisez la fenêtre du gestionnaire de packages graphiques (Gérer les packages NuGet ...).
11
Jimmy