Ссылки для DBContext, DBSet <> в Entity Framework
Я пытаюсь использовать функцию ADO.Net Codefirst последней Entity Framework 4.0. В рамках этого я установил Entity Framework CTP 4 из Microsft и используя Скотт учебник, чтобы сначала создать модель. Внутри учебника указаны DBContext
и DBSet<>
. Может ли кто-то сказать, какова ссылка, которая будет использоваться для доступа к этому классу.
Я использовал следующие ссылки, однако ничего не происходит для DBContext
и DBSet<>
- System.Data.Entity
- System.Data.Entity.Design
Ответы
Ответ 1
Используйте CTP5, вместо этого это более новая версия с некоторыми изменениями в API. Вы должны добавить ссылку на EntityFramework.dll, которая установлена в каталоге CTP - по умолчанию: c:\Program Files\Microsoft ADO.NET Entity Framework Feature CTP5\Binaries\EntityFramework.dll для 32-разрядной системы. В 64-битной системе он будет помещен в Program Files (x86).
Ответ 2
Вы можете использовать Диспетчер пакетов библиотек, если он у вас есть (он автоматически устанавливается с 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 в ваш проект.
Ответ 3
Используйте "DbContext" и "DBContext", а "DbSet" - "DBSet". Чувствительность к регистру - проблема.
Ответ 4
Чтобы добавить EF в проект, используйте консоль диспетчера пакетов и выполните команду:
Install-Package EntityFramework
Вам не следует ссылаться непосредственно на установленное место DLL, как указано в другом ответе.
Ответ 5
В блогпосте упоминается сборка:
Используемые классы DbContext и DbSet выше представлены как часть EF4 Code-First. Вам нужно будет добавить ссылку на System.Data.Entity.CTP, которая установлен в \Program Файлы\Microsoft ADO.NET Entity Функция Framework CTP4\Binaries для ссылки на эти классы. Вы также захотите добавить "использование System.Data.Entity" в верхней части вашего Файл класса NerdDinners.
Однако я верю, что новый CTP5 включает некоторые изменения в codefirst, поэтому я бы предложил посмотреть на это.
Ответ 6
Я следил за учебником MvcMusicStore (используя Mvc 4 вместо Mvc 3).
Я нашел в части 4, что у меня были проблемы с этим (http://www.asp.net/mvc/tutorials/mvc-music-store/mvc-music-store-part-4).
Когда я добавил следующую ссылку, используя System.Data.Entity;, я получил следующую ошибку:
тип или имя пространства имен "сущность" не существует в пространстве имен "system.data
"
Решение @Fecklmore работало для меня.
Откройте консоль диспетчера пакетов, выбрав "Инструменты" > "Диспетчер пакетов библиотек" > "Менеджер пакетов".
Затем введите следующее:
Install-Package EntityFramework
Это установит EntityFramework (т.е. EF) в ваш проект и устранит указанную выше ошибку.
Ответ 7
если вы используете .NET 3.5, затем измените целевую структуру на .NET 4.0