Ответ 1
Спасибо каждому телу!
Я нашел решение. не то, что я понимаю, почему, но я пробовал это, и это сработало!
Мне просто нужно было добавить ссылку на: System.Data.Entity.Design
и не нужно писать код using
в коде.
Спасибо!
Я использую класс 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"/>
Спасибо каждому телу!
Я нашел решение. не то, что я понимаю, почему, но я пробовал это, и это сработало!
Мне просто нужно было добавить ссылку на: System.Data.Entity.Design
и не нужно писать код using
в коде.
Спасибо!
Щелкните правой кнопкой мыши по Solution из Visual Studio Solution Explorer, выберите "Управление пакетами Nuget" для решения и установите EntityFramework
Привет, этот пост очень вводит в заблуждение, если вы читаете эти 2 года.
С использованием EF6 и .net 4.5.1 в VS 2013 я должен был ссылаться на следующее, чтобы заставить это работать
using System.Data.Entity.Core.EntityClient;
немного отличается от предыдущего,
Это больше похоже на FYI для людей, которые приходят сюда для помощи в решении новых проблем, чем ответ на исходный вопрос.
У меня была структура фреймворка 6.1.3, обновленная (ну, еще более пониженная в NuGet) до 6.1.2. Работали.
Вам необходимо установить инфраструктуру Entity, щелкнув правой кнопкой мыши на вашем VS-решении и выберите "Управление пакетом решений NuGet" и найдите там инфраструктуру Entity. После установки проблема будет решена.
У меня была такая же ошибка с Visual Studio 2013 и EF6. Мне пришлось использовать упакованную платформу Entity Framework NewGet и отлично выполнять работу
Я добавлю свой ответ, чтобы охватить все случаи:
Мое решение было unistalling EntityFramework из NuGet Package Manager, а затем мне было предложено перезапустить Visual Studio, потому что он не смог "завершить удаление".
Я перезапустил Visual Studio и переустановил EntityFramework, после чего моя проблема была решена.
Надеюсь, это поможет кому-то!
Мое решение было простым! Я на самом деле имел эту ошибку, когда проверил репо с сервера SVN. Я предпринял следующие шаги, чтобы удалить ошибку
попробовал переустановить - не повезло. Мне пришлось обновить таблицу в моей модели, прежде чем она найдет Entity.
Это помогло мне, я удалил EF, перезапустил VS и добавил "using":
using System.Data.Entity;
using System.Data.Entity.Core.Objects;
using System.Data.Entity.Infrastructure;
Мне пришлось обновить мой DBModel. Это решило его
Мне пришлось ссылаться на System.Data.DataSetExtensions, который кажется совершенно нелогичным
Убедитесь, что у вас установлен пакет EntityFramework Nuget для вашего проекта.
От @TonyDing ответ:
Щелкните правой кнопкой мыши Решение в проводнике решений Visual Studio, выберите Управление пакетами Nuget для решения и установите EntityFramework.
После его установки у меня все еще была ошибка, но затем я сделал переустановку в соответствии с комментарием @papergodzilla:
Пакет обновлений -reinstall
и это решило мою проблему
Сделайте это в консоли диспетчера пакетов ("Просмотр"> "Другие окна"> "Консоль диспетчера пакетов").
Теперь все хорошо!
У меня были такие же ошибки.
Я добавил System.Data.Entity.Repository из пакетов Nuget, и ошибки исчезли.
Надеюсь, это поможет!
Я заметил, что в csproj у структуры фреймворка есть
<HintPath>..\..\..\..\..\..\Users\{myusername}
У меня было это в файле nuget.config:
<config>
<add key="repositoryPath" value="../lib" />
</config>
а) Я удалил вышеуказанные строки, б) удалил пакет сущности фреймворка, в) ЗАКРЫЛ решение и снова открыл его, г) переустановил фреймворк.
Это исправило мою проблему.
Если вы используете подход, основанный на базе данных:
Перед удалением/переустановкой Entity Framework сначала попробуйте просто добавить еще одну таблицу/хранимую процедуру в вашу модель (при условии, что в настоящий момент есть какие-либо не отображенные). Это решило проблему для меня. Конечно, если вам не нужен сопоставленный ресурс, просто удалите его из модели впоследствии. Но похоже, что силовая регенерация edmx сделала свое дело.
Я обнаружил, что основная причина заключается в том, что при установке пакетов nuget через пользовательский интерфейс сценарии иногда не запускаются. Поэтому я бы рекомендовал открыть представление "Вывод", пока вы это делаете. Если вы не видите окно с лицензионным соглашением при установке Nuget, есть лучшее изменение - ваша IDE не справляется со своей задачей. Так что перезапуск, очистка и восстановление помогает!
PS: добавление чего-либо в System.Data.Entity. * Помогает потому, что запускает установщик Nuget для правильной работы. Но это я нашел довольно ненадежным способом.
Так что просто посмотрите окно вывода, вы ДОЛЖНЫ увидеть что-то вроде сообщения об успешной установке nuget в конце. В большинстве случаев, когда возникает проблема, установщик Nuget даже не запускается. Это когда ваш перезапуск IDE поможет.
Когда дела пойдут хорошо, менеджер пакетов Nuget и IDE (я использовал термин "установщик" выше) внесут изменения, скомпилируют решение и будут счастливы! Но когда это не поможет, перезапусти IDE и просмотри это окно вывода!
Если вы используете версию EF более 6.x, то посмотрите, установлен ли у вас пакет nuget для структуры сущностей в каждом проекте вашего решения. Возможно, вы установили Ef, но не в том конкретном проекте, над которым вы работаете.
Я только что обновил мою инфраструктуру Entity до версии 6 в своей Visual Studio 2013 через NugetPackage и добавлю следующие ссылки:
System.Data.Entity,
System.Data.Entity.Design,
System.Data.Linq
щелкнув правой кнопкой мыши по ссылкам- > Добавить ссылки в моем проекте. Теперь удалите мою ранее созданную модель Entity и снова создайте ее, встроенное решение. Теперь он отлично работает для меня.
Переустановка EntityFramework работала для меня тоже. Переустановите это, восстановите это.