web-dev-qa-db-fra.com

Le type ou nom de l'espace de noms 'Entity' n'existe pas dans l'espace de noms 'System.Data'

J'utilise la classe WS et cela m'a donné une erreur lorsque j'exécute l'application:

The type or namespace name 'Entity' does not exist in the namespace 'System.Data' 

J'ai une référence à la System.Data; et à System.Data.Entity; Mais pas de changement. Je continue à avoir l'erreur. J'ai aussi dans le web.config la ligne:

<compilation debug ="true" targetFramework="4.0"/>
63
st mnmn

Merci à tous! J'ai trouvé la solution. non pas que je comprenne pourquoi mais j’ai essayé et cela a fonctionné! Il me suffisait d'ajouter une référence à: System.Data.Entity.Design et ne devez écrire aucun using dans le code. Merci!

25
st mnmn

Cliquez avec le bouton droit sur la solution dans l'Explorateur de solutions Visual Studio, sélectionnez Gérer les packages de nugets de la solution et installez EntityFramework.

89
Tony Ding

Bonjour, cet article est très trompeur, si vous lisez ceci 2 ans plus tard.

Avec EF6 et .net 4.5.1 dans VS 2013, j’ai dû faire référence à ce qui suit pour que cela fonctionne

using System.Data.Entity.Core.EntityClient;

un peu différent d'avant,

c’est plus un renseignement pour les personnes qui viennent ici pour obtenir de l’aide sur de nouveaux problèmes que pour une réponse à la question initiale

37
AlanMorton2.0

J'ai eu l'entité framework 6.1.3, mis à niveau (bien, plus dégradé dans NuGet) à 6.1.2. Travaillé.

5
TJPrgmr

Vous devez installer Entity Framework en cliquant avec le bouton droit de la souris sur votre solution VS puis en sélectionnant Gérer la solution NuGet Package et en recherchant la structure Entity. Après l'installation, le problème sera résolu

5

Je viens d'avoir la même erreur avec Visual Studio 2013 et EF6. Je devais utiliser un Entity Framework emballé dans NewGet et faire le travail parfaitement

4
Cormac Hallinan

Je vais ajouter ma réponse pour couvrir tous les cas:

Ma solution désinstallait EntityFramework de NuGet Package Manager, puis on m'a demandé de redémarrer Visual Studio, car il ne pouvait pas "finaliser la désinstallation".

J'ai redémarré Visual Studio et réinstallé EntityFramework, puis mon problème a été résolu.

J'espère que cela aide quelqu'un!

3
GigiSan

Ma solution était simple! J'avais réellement cette erreur lorsque j'ai extrait un dépôt d'un serveur svn. J'ai pris les mesures suivantes pour supprimer l'erreur

  1. Solution nettoyée
  2. Nous sommes allés au gestionnaire de paquets Nuget et avons désinstallé le framework d’entités.
  3. Suppression de DataModel et de ses composants .cs.
  4. Arrêtez le VS et ouvrez à nouveau.
  5. Entity Entity Framework et modèle d'entité recréé.
  6. Vérifiez si des fichiers sont nécessaires "Inclure dans la solution". Ça a marché comme sur des roulettes
2
Ansar nisar Gill

J'ai dû faire référence à System.Data.DataSetExtensions, ce qui semble complètement illogique

1
Erik Bergstedt

Cela m'a aidé, j'ai désinstallé EF, redémarré VS et j'ai ajouté 'using':

using System.Data.Entity;
using System.Data.Entity.Core.Objects;
using System.Data.Entity.Infrastructure;
1
Roberto Gata

essayé de réinstaller - pas de chance. Je devais actualiser une table dans mon modèle avant de trouver Entity.

1
Joe

Assurez-vous que le package EntityFramework Nuget est installé pour votre projet.

De la réponse de TonyDing:

Cliquez avec le bouton droit sur la solution dans l'Explorateur de solutions Visual Studio, sélectionnez Gérer les packages de nugets de la solution et installez EntityFramework.

Une fois installé, j'avais toujours l'erreur, mais j'ai ensuite réinstallé le commentaire de @ papergodzilla:

Package de mise à jour -reinstall

et cela a résolu mon problème

Faites cela dans la console du gestionnaire de packages (Affichage> Autres fenêtres> Console du gestionnaire de packages).
Maintenant tout va bien!

1
Protector one

Je devais actualiser mon DBModel. Ça l'a résolu

1
Dare

J'ai remarqué que dans le csproj l'entité cadre avait hintpath comme

<HintPath>..\..\..\..\..\..\Users\{myusername}

J'avais ceci dans le fichier nuget.config:

 <config>
 <add key="repositoryPath" value="../lib" />
 </config>

a) J'ai supprimé les lignes ci-dessus, b) désinstallé le package d'entité cadre, c) ALORS FERMÉ LA solution et rouvert la solution, d) réinstallé le cadre.

Cela a résolu mon problème.

0
Antonin GAVREL

J'ai eu les mêmes erreurs.

J'ai ajouté System.Data.Entity.Repository de Nuget Packages et les erreurs disparaissent.

J'espère que cela vous aidera!

0
FAHA

Si vous utilisez une approche de base de données en premier:

Avant de désinstaller/réinstaller Entity Framework, essayez tout d'abord d'ajouter simplement une autre procédure table/stockée à votre modèle (en supposant qu'il en existe actuellement non mappée). Cela a résolu le problème pour moi. Bien sûr, si vous n'avez pas besoin de mapper la ressource, supprimez-la ensuite du modèle. Mais il semble qu'une régénération de force de l'edmx ait fait l'affaire.

0
Jason Sultana

J'ai découvert que la cause première est que lorsque vous installez les packages de nuget via l'interface utilisateur, les scripts ne s'exécutent pas parfois. Je vous recommande donc d'ouvrir la vue de sortie pendant que vous faites cela. Si vous ne voyez pas la fenêtre du contrat de licence lors de l'installation de Nuget, il est préférable de changer votre IDE ne fait pas le travail correctement. C'est pourquoi un redémarrage, un nettoyage et une reconstruction aident!

PS: Il est utile d’ajouter quoi que ce soit sous System.Data.Entity. *, Car cela déclenche le programme d’installation de Nuget. Mais cela, j’ai trouvé un moyen peu fiable.

Il suffit donc de regarder la fenêtre de sortie pour voir quelque chose comme un message d’installation de nuget réussi à la fin. La plupart du temps, en cas de problème, le programme d'installation de Nuget ne sera même pas lancé. C'est à ce moment que votre redémarrage de IDE va vous aider.

Lorsque les choses se passent bien, le gestionnaire de paquets Nuget et IDE (j’ai utilisé le terme d’installateur) ci-dessus) feraient la modification, compileraient la solution et vous garderaient heureux! IDE et en regardant cette fenêtre de sortie!)

0
SydMK