J'essaie d'utiliser la fonctionnalité ADO.Net Codefirst de la dernière entité Entity Framework 4.0. Dans ce cadre, j'ai installé Entity Framework CTP 4 de Microsft et en utilisant le tutoriel de Scott pour créer le modèle en premier. Dans le tutoriel, DBContext
et DBSet<>
sont spécifiés. Certains pourraient-ils indiquer quelle est la référence à utiliser pour accéder à cette classe.
J'ai utilisé les références suivantes mais rien ne se passe pour DBContext
et DBSet<>
Utilisez CTP5 à la place, il s’agit d’une version plus récente avec quelques modifications apportées à l’API. Vous devez ajouter une référence à EntityFramework.dll installé dans le répertoire CTP - la valeur par défaut est: c:\Program Files\Microsoft ADO.NET. Sur le système 64 bits, il sera placé dans Program Files (x86).
Vous pouvez utiliser le gestionnaire de packages de bibliothèque si vous en avez un (l'installation est automatique avec MVC 3.0).
Dans votre projet dans Visual Studio 2010, accédez à
Tools > Library Package Manager > Package Manager Console
Dans votre projet dans Visual Studio 2013, accédez à
Tools > NuGet Package Manager > Package Manager Console
Dans la console, après l'invite PM>
, tapez
install-package entityframework
Cela installera le package et ajoutera la référence EntityFramework à votre projet.
Utilisez "DbContext" vs "DBContext" et "DbSet" vs "DBSet". La sensibilité à la casse est la question.
Pour ajouter EF à votre projet, utilisez la console du gestionnaire de packages et exécutez la commande suivante:
Install-Package EntityFramework
Vous ne devez pas créer de lien direct vers l'emplacement d'installation des DLL, comme indiqué dans une autre réponse.
Je suivais le tutoriel MvcMusicStore (en utilisant Mvc 4 au lieu de Mvc 3).
J'ai trouvé dans la partie 4 que j'avais des problèmes avec ceci ( http://www.asp.net/mvc/tutorials/mvc-music-store/mvc-music-store-part-4 ).
Quand j'ai ajouté la référence suivante using System.Data.Entity;, J'ai l'erreur suivante:
le type ou nom de l'espace de noms 'entité' n'existe pas dans l'espace de noms 'system.data
'
La solution de @ Fecklmore a fonctionné pour moi.
Ouvrez la console du gestionnaire de packages en allant dans Outils> Gestionnaire de packages de bibliothèque> Console du gestionnaire de packages.
Puis tapez ce qui suit: Install-Package EntityFramework
Ceci installera EntityFramework (c'est-à-dire EF) dans votre projet et éliminera l'erreur ci-dessus.
Le billet de blog mentionne l'Assemblée:
Les classes DbContext et DbSet utilisées ci-dessus sont fournis dans le cadre du EF4 Bibliothèque Code-First. Vous aurez besoin de ajouter une référence àSystem.Data.Entity.CTP Assembly que est installé dans le\Programme Entité Files\Microsoft ADO.NET Fonction-cadre CTP4\Binaires répertoire pour référencer ces classes. Vous voudrez également ajouter un “using System.Data.Entity ”espace de noms déclaration au sommet de votre Fichier de classe «NerdDinners».
Cependant, je pense que le nouveau CTP5 inclut quelques modifications à Codefirst, je vous suggère donc de jeter un coup d'œil à celui-ci.
si vous utilisez .NET 3.5, remplacez votre infrastructure cible par .NET 4.0.