web-dev-qa-db-fra.com

Références pour DBContext, DBSet <> dans Entity Framework

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<>

  • System.Data.Entity
  • System.Data.Entity.Design
22
Elangesh

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).

14
Ladislav Mrnka

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.

26
Feckmore

Utilisez "DbContext" vs "DBContext" et "DbSet" vs "DBSet". La sensibilité à la casse est la question.

4
Thomas Edmondson

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.

2
Josh M.

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. 

1
Kyle Garrett

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.

1
Yannick Motton

si vous utilisez .NET 3.5, remplacez votre infrastructure cible par .NET 4.0.

0
Arek Bee