2013-05-01 8 views
6

Я создаю веб-приложение, используя Visual Studio 2012 и Framework 4.5, и я использую MVC 4, и у меня возникла проблема.DbContext не найден в mvc 4

мне нужно использовать DbContext но I'cant считают, что в моем проекте означает, что я добавил System.Data.Entity и он по-прежнему выдает ошибку

не удалось найти тип или пространство имен имя «DbContext» (у вас отсутствует директива по использованию или ссылка на сборку?)

Как я могу решить эту проблему?

+2

Вы забыли установить EF из [nuget] (http://nuget.org/packages/EntityFramework/5.0.0)? –

+0

@CuongLe nope Уже есть – 2013-05-01 08:15:55

+0

@AlenJoy Добавили ли вы файл DBML в свой проект ..? Имя 'DBML' должно совпадать с именем' DbContext' – RajeshKdev

ответ

18

DbContext проживает в EntityFramework.dll. See this for reference

Вы можете получить его от NuGet, введя эту команду в КУП

Install-Package EntityFramework -Version 5.0.0 

Вы можете получить в ПМЦ, перейдя в Tools -> Library Package Manager -> Package Manager Console в VS

+0

Я занимаюсь учебным пособием MusicStore MVC и обнаружил ошибку, с которой DbContext и DbSet не имеют права на повторение. Эти решения прекрасно работают! Спасибо, мистер @vonv. –

+0

Спасибо! приятель, большое исправление – kbo4sho88

0

DbContext является частью EntityFramework.dll, а не System.Data.Entity.

Он был введен в EF 4.1. Вы можете установить соответствующий пакет NuGet с помощью visual studio 2012. Например. Щелкните правой кнопкой мыши Project и выберите «Manange NuGet Packages» и найдите соответствующую версию EF и установите ее.

4

В дополнение к принятым ответа, это может помочь людям в ситуации, которая до сих пор не были упомянуты:

Эта проблема возникла у меня, когда я создал новый mvc4 проект в качестве существующего решения в Visual Studio 2012. Решение уже содержит рабочий проект mvc4, но когда я создал второй проект, он не смог найти пакет System.Data.Entity (включая DbContext). Команда установки-пакет не решает проблему в этой ситуации, потому что общее решение уже установлен пакет:

PM> Install-Package EntityFramework 
'EntityFramework 6.0.1' already installed. 

Проблема заключалась в том, что пакет EntityFramework не получает автоматически устанавливается в новых проектах, вы должны добавьте его вручную. Перейти к:

Tools -> Library Package Manager -> "Manage NuGet Packages for Solution..." 

Поиск EntityFramework в поле в правом верхнем углу, выберите Управление, а затем установите флажок для нового решения. Теперь новый проект должен строиться правильно.

3

Вы можете сделать это с помощью следующих шагов:

правой кнопкой мыши проект в проводнике решений.

Выбрать Add Reference ...

Посмотрите на System.Data.Entity.dll файл (или EntityFramework.dll) и добавить их к вашему проекту.

Вы также можете сделать то же самое через NuGet, если он установлен:

правой кнопкой мыши проект в проводнике решений.

Выберите Управление NuGet пакетов ...

Поиск по EntityFramework Package.

Нажмите «Установить», чтобы добавить его в существующий проект.

После того, как вы успешно добавили это в приложение, вам нужно просто добавить, используя заявление в пределах страницы, которые вы используете ваш DbContext и DbSet объекты на:

using System.Data.Entity; 

Reference Link

2

У меня также была эта проблема, и она не работала, пока я не установил EntityFramework из меню -> Project -> Manage Nuget Packages ...

0

Эта проблема возникла для меня, когда я создал новый проект mvc4 в существующем Решение в Visual Studio 2012. Решение уже содержало рабочий проект mvc4, но когда я создал второй проект, он не смог найти System.Data.Entity package (включая DbContext). Команда install-package не решает проблему в этой ситуации, потому что общее решение уже установлен пакет:

PM> Install-Package EntityFramework 
'EntityFramework 6.0.1' already installed. 

Проблема заключалась в том, что пакет EntityFramework не получает автоматически устанавливается в новых проектах, вы должны добавить его вручную. Перейти к:

Tools -> Library Package Manager -> "Manage NuGet Packages for Solution..." 

Поиск EntityFramework в поле в правом верхнем углу, выберите Управление, а затем установите флажок для нового решения. Теперь новый проект должен строиться правильно.

Смежные вопросы