Ссылки на DBContext, DBSet <> в Entity Framework - PullRequest
22 голосов
/ 04 февраля 2011

Я пытаюсь использовать функцию ADO.Net Codefirst последней версии Entity Framework 4.0.В рамках этого я установил Entity Framework CTP 4 от Microsft и использовал учебник Скотта , чтобы сначала создать модель.Внутри урока указано DBContext и DBSet<>.Могут ли некоторые сказать, что ссылка используется для доступа к этому классу.

Я использовал следующие ссылки, однако ничего не происходит для DBContext и DBSet<>

  • Система.Data.Entity
  • System.Data.Entity.Design

Ответы [ 7 ]

26 голосов
/ 03 апреля 2011

Вы можете использовать диспетчер пакетов библиотеки, если он у вас есть (он устанавливается автоматически с MVC 3.0).

Из вашего проекта в Visual Studio 2010 перейдите на

Tools > Library Package Manager > Package Manager Console

Из вашего проекта в Visual Studio 2013 перейдите на

Tools > NuGet Package Manager > Package Manager Console

В консоли после приглашения PM> введите

install-package entityframework

Это установит пакет и добавит ссылку EntityFramework в ваш проект.

14 голосов
/ 04 февраля 2011

Используйте CTP5 , вместо этого это более новая версия с некоторыми изменениями в API. Необходимо добавить ссылку на EntityFramework.dll, которая установлена ​​в каталоге CTP - по умолчанию: c: \ Program Files \ Microsoft ADO.NET Entity Framework Feature CTP5 \ Binaries \ EntityFramework.dll для 32-битной системы. В 64-битной системе он будет помещен в Program Files (x86).

4 голосов
/ 11 февраля 2011

Используйте «DbContext» против «DBContext» и «DbSet» против «DBSet». Чувствительность к регистру является проблемой.

2 голосов
/ 27 апреля 2013

Чтобы добавить EF в ваш проект, используйте Консоль диспетчера пакетов и введите команду:

Install-Package EntityFramework

Вы не должны связываться напрямую с установленным местоположением DLL, как указано в другом ответе.

1 голос
/ 05 августа 2013

Я следовал учебному пособию по MvcMusicStore (используя Mvc 4 вместо Mvc 3).

Я нашел в части 4 у меня проблемы с этим (http://www.asp.net/mvc/tutorials/mvc-music-store/mvc-music-store-part-4).

Когда я добавил следующую ссылку с помощью System.Data.Entity; , я получил следующую ошибку:

имя типа или пространства имен 'entity' не существует в пространстве имен 'system.data'

@ Решение Феклмора сработало для меня.

Откройте консоль диспетчера пакетов, выбрав Инструменты> Диспетчер пакетов библиотеки> Консоль диспетчера пакетов.

Затем введите следующее: Install-Package EntityFramework

Это установит EntityFramework (т.е. EF) в ваш проект и устранит ошибку, описанную выше.

1 голос
/ 04 февраля 2011

В блоге упоминается сборка:

Используемые классы DbContext и DbSet Выше представлены как часть EF4 Библиотека Code-First. Вам нужно добавить ссылку на System.Data.Entity.CTP сборка, которая устанавливается в \ программу Файлы \ Microsoft ADO.NET Entity Фреймворк CTP4 \ Двоичные файлы каталог для ссылки на эти классы. Вы также хотите добавить «использование Пространство имен System.Data.Entity » заявление в верхней части вашего Файл класса «NerdDinners».

Однако я считаю, что новый CTP5 включает некоторые изменения в codefirst, поэтому я бы посоветовал взглянуть на него.

0 голосов
/ 15 июня 2011

если вы используете .NET 3.5, измените целевую платформу на .NET 4.0

...