Ответ 1
- Перейдите в Инструменты → Получить инструменты и функции
- Перейдите на вкладку "Отдельные компоненты" и проверьте инструменты Entity Framework 6 в разделе "SDK", "Библиотеки" и раздел "Структура".
Я пытался создать веб-приложение ASP.NET MVC в Visual Studio 2017. Мне нужно принять первый подход к базе данных EF для работы.
К сожалению, я не могу найти шаблон модели данных Entity Data в моей папке с шаблонами данных:
Я пробовал следующие предложения, которые не работали для меня.
ПРИМЕЧАНИЕ. У меня есть VS 2015 и VS 2017, установленные на моей машине. Проблема только с VS 2017.
Я создал проект ASP.NET MVC следующим образом:
File -> New -> Project -> Web -> ASP.NET Web Application (.NET Framework) -> MVC
Кто-нибудь знает решение этой проблемы?
Для тех из вас, кто пробует другие решения и до сих пор не видит шаблоны...
Возможно, вы пытаетесь добавить ADO EF в проект .NET Core 2.0, а EF не поддерживается сразу после установки.
У вас есть 2 варианта:
Я рекомендую № 1. На VS 2017 на самом деле не установлен полный Core 2.0 SDK, и он недоступен в установщике VS (с которым здесь сталкиваются многие комментарии).
Я знаю, сбивает с толку, верно?
От Microsoft:
"Вам потребуется загрузить и установить версию .NET Core 2.0 SDK, соответствующую вашей платформе. Это верно, даже если вы установили Visual Studio 2017 версии 15.3".
"Чтобы использовать EF Core 2.0 или любую другую библиотеку .NET Standard 2.0 с платформами .NET, кроме .NET Core 2.0 (например, с .NET Framework 4.6.1 или более поздней версии), вам потребуется версия NuGet, которая знает о .NET Standard 2.0 и его совместимые фреймворки "
https://blogs.msdn.microsoft.com/dotnet/2017/08/14/announcing-entity-framework-core-2-0/
Теперь... все это установлено и до сих пор не видно шаблона ADO? Я считаю, что это потому, что он устарел/устарел. Это способ заставить EF работать в .NET Core: https://docs.microsoft.com/en-us/ef/core/get-started/aspnetcore/existing-db
Надеюсь это поможет! Пожалуйста.
Кажется, вы добавили "Библиотеку классов (.NET Standard)", которая не поддерживает ADO.net Entity Data Model. Вы можете добавить "Библиотека классов (.NET Framework)"
Мне пришлось создать новый проект с использованием .Net 4.5.2, затем я смог добавить модель данных сущности ADO.NET.
Не решение как таковое, но убедитесь, что проект, который вы добавили, предназначен для .NET Framework, а не для .NET Standard. Шаблоны для добавления таких вещей, как ADO.NET Entity Data Model, включены в .NET Framework.
Чтобы решить эту проблему, вы можете изменить Visual Studio 2017. Вы можете выполнить следующие шаги.
Перейдите в Панель управления\Programs\Программы и компоненты вашего компьютера.
Выберите Microsoft Visual Studio 2017, щелкните его правой кнопкой мыши и измените.
Он перейдет в окно продуктов Visual Studio и теперь нажмите кнопку "Изменить".
Теперь отметьте ASP.Net и рабочую нагрузку на веб-разработку в разделе "Веб" и "Облако" и измените ее.
Наконец, запустите Visual Studio 2017.
У меня была такая же проблема в VS2017 Community Edition. Ранее я пробовал следующее, но никто не работал:
В конце концов, при более тщательном расследовании я нацелился на неправильную
Смотрите изображение: вы должны выбрать .NET Framework вместо .NET Standard
Для меня изменился на правильный тип проекта, в то время как таргетинг ".NET Framework" вместо ".NET Standard" работал.
Tools--> Нажмите "Получить инструменты и функции" -> Нажмите " Изменить" ->
Нажмите Отдельные компоненты ->
Отметьте флажок Инструменты Entity Framework 6
-> нажмите Modify
->
Появится всплывающее окно window-->, нажмите Повторить(если оно не закрыто, нажмите Продолжить)
Теперь запустите VS, и на этот раз будет добавлена проверка данных Модель сущности ADO.NET.
Пожалуйста, проверьте эту статью http://dotnet-jigyasa.blogspot.com/2018/03/adonet-entity-data-model-missing-visual.html Работал на меня.
Ваши инструменты для EF отсутствуют. Вам нужно снова запустить установщик, и в "select package" вам нужно выбрать enitityframeworktools
чтобы получить необходимые опции в вашем проекте.
По сути, я обнаружил, что при выборе .Net Core Project EF не отображается на вкладке данных. Вам нужно выбрать .Net Framework вместо .Net Core. Тогда вы найдете все материалы под вкладкой данных.
Мое решение состояло в том, чтобы скопировать файл "edmx" из другого проекта в проект с ядром asp.net и отлично работает со всеми функциями, проблема заключается только в доступных шаблонах в списке.
в моем случае, я использовал ADO.NET раньше, чтобы я знал, что он был установлен..так, я просто набрал ADO в окне поиска в правом верхнем углу, и это было, РЕШАЕМ! надеюсь, что это поможет
в моем случае моя project-> properties-> target Framework была 2.0, я изменяю на 4.5 и знаю, что это работает, знаю, что вижу модель данных сущности ado.net.
Сначала измените framwork на 4.5.2 в свойстве приложения проекта. введите описание изображения здесь Просто щелкните правой кнопкой мыши ваше приложение (не проектное решение) в обозревателе решений, выберите "Добавить меню" и выберите ADO.Net в "Добавить меню". Делай что хочешь с ADO.NET. Удачи.
Visual Studio отображает доступные проекты в соответствии с областью, в которой вы щелкнули. Щелкните правой кнопкой мыши на имени проекта root → add → new item → Data, вы сможете выбрать ADO.NET Entity Data Model.
Это правда, что эта функция недоступна в Core, и это может не дать прямого ответа на вопрос. Но Core предлагает командную строку Reverse Engineering, которую я успешно использовал для проекта с существующей базой данных.
Вам нужно просто выполнить следующую команду в консоли диспетчера пакетов, и она сгенерирует модели для вас на основе существующей базы данных:
Scaffold-DbContext 'Data Source=.\SQLEXPRESS;Initial Catalog=DbName;Integrated Security=True;MultipleActiveResultSets=True' Microsoft.EntityFrameworkCore.SqlServer
Или непосредственно из командной строки с помощью точечной сети.
dotnet ef dbcontext scaffold "Data Source=.\SQLEXPRESS;Initial Catalog=DbName;Integrated Security=True;MultipleActiveResultSets=True" Microsoft.EntityFrameworkCore.SqlServer
Чтобы узнать больше об этой функции, вы можете прочитать больше на странице Microsoft:
https://docs.microsoft.com/en-us/ef/core/managing-schemas/scaffolding
Я думаю, что вы выбрали библиотеку классов (.NET Standard) вместо библиотеки классов (.NET Framework), попробуйте выбрать библиотеку классов (.NET Framework), вы получите его.
Просто откройте Visual studio setup
. Если вы уже установили, выберите "Изменить раздел" и установите флажок " .NET desktop development
и установите его.