web-dev-qa-db-fra.com

'Migrations' n'existe pas dans l'espace de noms 'Microsoft.EntityFrameworkCore'

Je fais un projet ASP.NET Core . J'ai installé les packages Microsoft.EntityFrameworkCore et Microsoft.EntityFrameworkCore.Tools NuGet.

J'ai exécuté la commande Add-Migration InitialCreate, Ce qui a créé le dossier Migrations et le fichier 20180905180349_InitialCreate.cs.

Mais ça dit 

Le type ou le nom de l'espace de noms 'Migrations' n'existe pas dans le fichier espace de noms 'Microsoft.EntityFrameworkCore' (il manque une référence. Assembly .__?)

Quelle est la cause de cette erreur. Dois-je installer un autre package?

4
B45i

Ok, je vais vous montrer la configuration minimale requise pour les migrations EF Core +:

Vous devrez installer Microsoft.EntityFramework.Core, mais il vaut mieux que vous installiez d'abord un fournisseur EF Core pour la base de données à utiliser. Ensuite, ce fournisseur EF Core extraira toutes les dépendances requises (y compris Microsoft.EntityFramework.Core).

Ainsi (par exemple) pour la base de données SQLServer, dans la console du gestionnaire de packages, je vais installer:

  1. Install-Package Microsoft.EntityFrameworkCore.SqlServer

  2. Install-Package Microsoft.EntityFrameworkCore.Tools (pour les commandes powershell)

  3. Install-Package Microsoft.EntityFrameworkCore.Design (contient le moteur de migration - et important note ce package doit être à l'intérieur du projet exécutable)

Et c'est tout.

9
juramarin
using Microsoft.EntityFrameworkCore; //Add to your reference at top of solution.

Mettez simplement cela dans votre référence pour que la magie se produise.

0
xTwisteDx