Je suis nouveau sur ASP.NET et j'essaye de mettre en place une application webAPI c # avec un framework d'entité. Mais lorsque j'essaie d'exécuter la commande Enable-Migrations sur la console nuget-package-manager, j'obtiens l'erreur suivante:
"Impossible de lier l'argument au paramètre 'Path' car il est nul"
enable-migrations : Cannot bind argument to parameter 'Path' because it is
null.
At line:1 char:1
+ enable-migrations -ContextTypeName SchoolDBContext
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidData: (:) [Enable-Migrations],
ParameterBindingValidationException
+ FullyQualifiedErrorId :
ParameterArgumentValidationErrorNullNotAllowed,Enable-Migrations
J'ai essayé de désinstaller et de réinstaller le framework d'entité, mais il donne toujours la même erreur.
Comment puis-je réparer cela?
Avez-vous essayé d'ajouter manuellement une base de données avec le nom approprié pour faire correspondre la chaîne de connexion dans votre fichier de configuration?
J'ai eu une erreur identique cet après-midi. L'ajout manuel de la base de données a résolu le problème et j'ai par la suite réussi à ajouter une migration qui a ajouté une table.
Après cela, j'ai supprimé le fichier de configuration et les migrations (du dossier "Migrations" du projet) et supprimé la base de données. Lorsque j'ai ensuite exécuté update-database, j'ai obtenu les réponses les plus conventionnelles:
Vérification si le contexte cible une base de données existante ...
Code First Migrations activé pour le projet MyProject.Domain
J'ai ensuite exécuté 'add-migration Initial' et 'update-database'. Cela m'a semé une nouvelle base de données. Tout bon. Toutes les mises à jour des autres sur l'histoire sous-jacente sont appréciées.
Le problème est dû au fait de ne pas avoir les privilèges suffisants pour exécuter la commande. Ouvrez Visual studio en mode administrateur ( Exécuter en tant qu'administrateur) et exécutez la commande.
J'obtiens ceci si j'ai mon code de base de données dans une bibliothèque de classe séparée. Pour que les commandes fonctionnent, j'ai dû sélectionner la bibliothèque de classes comme projet de démarrage.
J'ai donc fait ce qui suit ...
Sélectionnez le projet où le contexte de base de données existe et cliquez avec le bouton droit, sélectionnez "Définir comme projet de démarrage".
Sélectionnez le projet par défaut comme projet correct.
Assurez-vous que vous êtes dans le répertoire du projet sur le système de fichiers.
Exécutez les commandes.