Тип или имя пространства имен «Entity» не существует в пространстве имен «System.Data» - PullRequest
61 голосов
/ 02 апреля 2012

Я использую класс WS, и он выдал ошибку при запуске приложения:

The type or namespace name 'Entity' does not exist in the namespace 'System.Data' 

У меня есть ссылка на System.Data; и System.Data.Entity;, но без изменений.Я продолжаю получать ошибку.У меня также в web.config есть строка:

<compilation debug ="true" targetFramework="4.0"/>

Ответы [ 19 ]

1 голос
/ 17 августа 2017

Мне пришлось сослаться на System.Data.DataSetExtensions, что кажется совершенно нелогичным

1 голос
/ 19 мая 2017

Это помогло мне, я удалил EF, перезапустил VS и добавил 'using':

using System.Data.Entity;
using System.Data.Entity.Core.Objects;
using System.Data.Entity.Infrastructure;
1 голос
/ 10 сентября 2018

Убедитесь, что у вас установлен пакет EntityFramework Nuget для вашего проекта.

От ответа @ TonyDing:

Щелкните правой кнопкой мыши Решение в обозревателе решений Visual Studio, щелкнитеУправляйте пакетами Nuget для решения и устанавливайте EntityFramework

После установки у меня все еще была ошибка, но затем я сделал переустановку согласно комментарию @ papergodzilla:

Update-Пакет -reinstall

, и это решило мою проблему

Сделайте это в консоли диспетчера пакетов («Просмотр»> «Другие окна»> «Консоль диспетчера пакетов»).
Теперь все хорошо!

0 голосов
/ 24 мая 2019

Я обнаружил, что основная причина заключается в том, что при установке пакетов nuget через пользовательский интерфейс сценарии иногда не запускаются.Поэтому я бы рекомендовал открыть представление «Вывод», пока вы это делаете.Если вы не видите окно с лицензионным соглашением при установке Nuget, есть лучшее изменение - ваша IDE не справляется со своей задачей.Вот почему помогает перезапуск, очистка и восстановление!

PS: добавление чего-либо в System.Data.Entity. * Помогает, потому что запускает установщик Nuget для правильной работы.Но это я нашел довольно ненадежным способом.

Так что просто посмотрите окно вывода, вы ДОЛЖНЫ увидеть что-то вроде сообщения об успешной установке nuget в конце.В большинстве случаев, когда возникает проблема, установщик Nuget даже не запускается.Вот когда вам поможет перезапуск IDE.

Когда все пойдет хорошо, менеджер пакетов Nuget и IDE (я использовал термин «установщик» выше) внесут изменения, скомпилируют решение и будут счастливы!Но когда это не поможет, перезапусти IDE и просмотри это окно вывода!

0 голосов
/ 27 февраля 2019

Если вы используете подход, основанный на базе данных:

Перед удалением / переустановкой Entity Framework сначала попробуйте просто добавить еще одну таблицу / хранимую процедуру в вашу модель (при условии, что в настоящий момент есть какие-либо не отображенные).Это решило проблему для меня.Конечно, если вам не нужен сопоставленный ресурс, просто удалите его из модели впоследствии.Но похоже, что силовая регенерация edmx сделала свое дело.

0 голосов
/ 08 сентября 2015

Я только что обновил мою платформу Entity до версии 6 в моей Visual Studio 2013 через NugetPackage и добавил следующие ссылки:

System.Data.Entity,
System.Data.Entity.Design,
System.Data.Linq

, щелкнув правой кнопкой мыши по ссылкам-> Добавить ссылки в моем проекте.Теперь удалите мою ранее созданную модель Entity и заново создайте ее, Встроенное решение.Теперь у меня работает нормально.

0 голосов
/ 17 сентября 2018

Переустановка EntityFramework тоже сработала. Переустановите его, восстановите.

0 голосов
/ 11 сентября 2018

Я заметил, что в csproj у сущности фреймворка есть hintpath вроде

<HintPath>..\..\..\..\..\..\Users\{myusername}

У меня было это в файле nuget.config:

 <config>
 <add key="repositoryPath" value="../lib" />
 </config>

а) Я удалил вышеуказанные строки, б) удалил пакет сущности фреймворка, в) ЗАКРЫЛ решение и снова открыл его, г) переустановил фреймворк.

Это исправило мою проблему.

0 голосов
/ 28 августа 2018

У меня были такие же ошибки.

Я добавил System.Data.Entity.Repository из пакетов Nuget, и ошибки исчезли.

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...