web-dev-qa-db-fra.com

EF7: le terme 'add-migration' n'est pas reconnu comme nom d'applet de commande

J'ai la version du framework définie à: dnx46 dans project.json . Ont également les packages suivants:

  "dependencies": {
    "EntityFramework.Commands": "7.0.0-rc1-final",
    "EntityFramework.Core": "7.0.0-rc1-final",
    "EntityFramework.MicrosoftSqlServer": "7.0.0-rc1-final",
    "Microsoft.AspNet.Identity.EntityFramework": "3.0.0-rc1-final"
  }

Cependant, lorsque j'ai commencé à exécuter la commande enable-migrations, je reçois les éléments suivants:

Le terme 'enable-migrations' n'est pas reconnu comme nom d'applet de commande

Est-ce que quelqu'un sait comment les migrations EF s'exécutent dans le dernier .NET?

12
user183872

Actuellement, les migrations EF ne sont pas prises en charge prêtes à l'emploi:

https://github.com/aspnet/EntityFramework/issues/4497

0
user183872

C'est ce qui a fonctionné pour moi pour résoudre ce problème:

Courir:

Install-Package Microsoft.EntityFrameworkCore.Tools –Pre

Dans project.json, ajoutez ceci (s'il n'y en a pas déjà) à la section "outils":

"Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview4-final",

Référence utile: https://docs.efproject.net/en/latest/platforms/aspnetcore/new-db.html

24
Elijah Lofgren

Comme ErikEJ a mentionné , il n'y a pas de "migration de validation". Vous devrez utiliser "Add-Migrations" à la place. Voir la documentation officielle des commandes Powershell d'EF Core ici: http://docs.efproject.net/en/latest/cli/powershell.html

Il semble y avoir un bogue dans NuGet et Package Manager Console dans certaines versions de Visual Studio. Si les applets de commande ne sont pas reconnues après l'ajout du package Commands, essayez de redémarrer VS.

De plus, les commandes dnx ne seront pas supportées après RC1. Un nouvel outil (à venir) dotnet sera disponible pour RC2. Voir https://github.com/aspnet/EntityFramework/issues/3925

6
natemcmaster

La seule façon pour moi de faire en sorte qu'EntityFrameworkCore.Tools (qui comprend Add-Migration) fonctionne avec le dernier EF Core & VS 2015 a été d'appeler manuellement le script init à partir de la console du gestionnaire de package, comme suit:

PM> %UserProfile%\.nuget\packages\Microsoft.EntityFrameworkCore.Tools\1.0.0-preview1-final\tools\init.ps1
5
monoceres

Pour ajouter une nouvelle migration dans EF7, utilisez cette commande:

dnx ef migrations add YourMigrationUniqueName
1
Chtiwi Malek

Il n’existe pas de commande "enable-migrations" dans EF Core (EF7).

Il suffit d'utiliser "add-Migration"

0
ErikEJ