J'utilise VS 2012. J'ai installé avec Nuget la EntityFramework
(version 6.1.1) et ajouté des références aux System.Data
et System.Data.Entity
, mais lorsque j'ouvre une nouvelle classe dans la solution en faisant référence à DbContext, il indique:
"Le type ou nom de l'espace de noms 'DbContext' n'a pas pu être trouvé (vous manquez D'une directive using ou d'une référence Assembly?)"
C'est bizarre parce que DbContext est vert, comme toutes les classes reconnues, lorsque j'appuie sur F12 pour examiner la classe DbContext, elle m'amène à la classe System.Data.Entity.DbContext
telle qu'elle devrait être.
public DbContext MyContex { get; set; }
Les mêmes happanes avec DbSet
public DbSet<TEntity> MySet { get; set; }
Que manque-t-il d'autre?
Il s'avère que le projet a été compilé avec Target Framework 3.5. Lorsque je l'ai changé en version 4.5, cela a fonctionné. Merci à tous pour vos commentaires.
Install-Package EntityFramework - version 5.0.0
using System.Data.Entity;
// ceci résoudra à la fois les erreurs DbContext et DbSet
Avez-vous essayé de référencer EntityFramework.dll à la place? Vous pouvez également essayer le nom qualifié complet "public System.Data.Entity.DbContext MyContex {get; set;}".
Toutes mes excuses pour la réponse trop tardive: le problème était le même aujourd'hui avec VS2015. Quoi qu’il en soit, le nom qualifié complet fera le travail,
classe publique StudentEntities: System.Data.Entity.DbContext
Le problème se produit principalement lorsque vous modifiez la version de votre solution .Net. J'ai résolu le problème en
Ajout de Dll EntityFramework.dll si vous utilisez EntityFramework Version 6
J'ajoute un nouveau projet à une solution existante et rencontre le même problème. J'ai utilisé Outils -> Gestionnaire de paquets NuGet -> Gérer les paquets NuGet pour solution ... et j'ai pu voir les versions utilisées par tous les autres projets. De cette façon, j'ai pu choisir la même version pour mon projet qui a été utilisée dans le reste de la région.
J'obtenais cette erreur après la mise à niveau de Visual Studio 2015 à 2017. J'ai fermé VS, supprimé mon fichier .suo, redémarré VS, reconstruit la solution et tout fonctionne correctement à présent.