Модель данных объекта Ado net отсутствует в Visual Studio 2019
Обновлено: 21.11.2024
Руководство разработчика MySQL Connector/NET
Учебник 6.3. Использование сущности Entity Framework в качестве источника данных Windows Forms
Чтобы выполнить действия, описанные в этом руководстве, сначала установите образец базы данных world, который можно загрузить со страницы документации MySQL. Вы также можете найти подробную информацию о том, как установить базу данных на той же странице.
Создание нового приложения Windows Forms
Первым шагом является создание нового приложения Windows Forms.
В Visual Studio выберите File , New , а затем Project в главном меню.
Выберите установленный шаблон приложения Windows Forms. Нажмите ОК . Решение создано.
Чтобы получить последнюю сборку Entity Framework для MySQL, загрузите пакет NuGet. В качестве альтернативы используйте инструмент настройки приложений MySQL, предоставляемый MySQL для Visual Studio 1.2.9 (или более поздней версии), чтобы получить последний пакет и согласовать конфигурацию. Дополнительные сведения об использовании этого средства см. в разделе Entity Framework.
Добавление модели данных сущности
Чтобы добавить модель данных объекта в решение, выполните следующие действия:
Рис. 6.11. Добавление модели данных сущности
Теперь вы увидите Мастер модели данных сущности. Вы будете использовать мастер для создания модели данных объекта из образца базы данных мира. Выберите значок EF Designer из базы данных (или Создать из базы данных в более ранних версиях Visual Studio). Нажмите Далее .
Теперь вы можете выбрать локальное (мировое) соединение с базой данных, которое вы установили ранее. Выберите следующие элементы:
Да, включить конфиденциальные данные в строку подключения.
Сохранить настройки подключения объекта в App.config как:
мировые сущности
Если вы еще этого не сделали, вы можете создать новое подключение прямо сейчас, нажав Новое подключение (см. следующий рисунок). Дополнительные инструкции по созданию подключения к базе данных см. в разделе Создание подключения.
Рис. 6.12 Мастер модели данных объекта — подключение
Запишите параметры подключения объекта, которые будут использоваться в App.Config , так как они будут использоваться позже для написания необходимого управляющего кода. Нажмите Далее .
Мастер модели данных объекта подключается к базе данных.
Как показано на следующем рисунке, вы увидите древовидную структуру базы данных. Отсюда вы можете выбрать объект, который хотите включить в свою модель. Если вы также создали Представления и Сохраненные процедуры, эти элементы будут отображаться вместе со всеми таблицами. В этом примере вам просто нужно выбрать таблицы. Нажмите Готово, чтобы создать модель и выйти из мастера.
Рис. 6.13 Мастер модели данных объекта — объекты и настройки
Visual Studio создает модель с тремя таблицами (город, страна и язык страны), а затем отображает ее, как показано на следующем рисунке.
Рис. 6.14. Диаграмма модели данных сущности
В главном меню Visual Studio выберите «Сборка», а затем «Сборка решения», чтобы убедиться, что на данный момент все компилируется правильно.
Добавление нового источника данных
Теперь вы добавите в проект новый источник данных и увидите, как его можно использовать для чтения и записи в базу данных.
В главном меню Visual Studio выберите «Данные», а затем «Добавить новый источник данных». Вам будет представлен мастер настройки источника данных.
Выберите значок объекта. Нажмите Далее .
Выберите объект для привязки. Разверните дерево, как показано на следующем рисунке.
В этом руководстве вы выберете таблицу городов. После выбора таблицы городов нажмите кнопку Далее .
Рис. 6.15. Мастер настройки источника данных
Мастер подтвердит добавление объекта города. Нажмите Готово .
Теперь объект города появится на панели "Источники данных". Если панель «Источники данных» не отображается, выберите «Данные», а затем «Показать источники данных» в главном меню Visual Studio. Отобразится закрепленная панель.
Использование источника данных в форме Windows
На этом шаге описывается, как использовать источник данных в форме Windows.
На панели «Источники данных» выберите только что созданный источник данных и перетащите его в конструктор форм. По умолчанию объект «Источник данных» будет добавлен в качестве элемента управления «Представление сетки данных», как показано на следующем рисунке.
Элемент управления Data Grid View привязан к cityBindingSource , а элемент управления Navigator привязан к cityBindingNavigator .
Рис. 6.16. Дизайнер форм данных
Сохраните и перестройте решение, прежде чем продолжить.
Добавление кода для заполнения представления таблицы данных
Теперь вы готовы добавить код, чтобы убедиться, что элемент управления Data Grid View будет заполнен данными из таблицы базы данных города.
Дважды щелкните форму, чтобы получить доступ к ее коду.
Добавьте следующий код, чтобы создать экземпляр объекта Entity Data Model EntityContainer и получить данные из базы данных для заполнения элемента управления.
Сохраните и перестройте решение.
Запустите решение. Убедитесь, что сетка заполнена (см. пример на следующем рисунке) и что вы можете перемещаться по базе данных.
Рисунок 6.17 Элемент управления "Заполненная сетка"
Добавление кода для сохранения изменений в базе данных
На этом шаге объясняется, как добавить код, позволяющий сохранять изменения в базе данных.
Исходный компонент Binding гарантирует, что изменения, сделанные в элементе управления Data Grid View, также будут применены к привязанным к нему классам Entity. Однако эти данные необходимо сохранить обратно из сущностей в саму базу данных. Этого можно добиться, включив кнопку "Сохранить" в элементе управления "Навигатор" и добавив некоторый код.
В конструкторе форм щелкните значок сохранения на панели инструментов формы и убедитесь, что для его свойства Enabled установлено значение True .
Дважды щелкните значок сохранения на панели инструментов формы, чтобы отобразить его код.
Добавьте следующий (или аналогичный) код, чтобы данные сохранялись в базе данных, когда пользователь нажимает кнопку сохранения в приложении.
После добавления кода сохраните решение, а затем перестройте его. Запустите приложение и убедитесь, что изменения, сделанные в сетке, сохранены.
Здесь мы создадим Entity Data Model (EDM) для существующей базы данных в подходе, ориентированном на базу данных, и разберемся с основными строительными блоками.
Entity Framework использует EDM для всех операций, связанных с базой данных. Entity Data Model — это модель, описывающая сущности и отношения между ними. Давайте создадим простой EDM для базы данных School, используя Visual Studio (2012\2015\2017) и Entity Framework 6.
<р>1. Откройте Visual Studio и создайте консольный проект.
<р>3. Мастер Entity Data Model в Visual Studio (2012/2015/2017) открывается с четырьмя параметрами для выбора: EF Designer из базы данных для подхода, ориентированного на базу данных, пустая модель EF Designer для подхода, ориентированного на модель, пустая модель Code First и код. Сначала из базы данных для подхода Code-First. Здесь мы используем подход, основанный на базе данных, поэтому выберите параметр EF Designer из базы данных и нажмите кнопку Далее.
<р>4. На этом шаге вам необходимо создать соединение с существующей базой данных. Если вы впервые создаете EDM для своей базы данных, вам необходимо создать новое соединение, нажав «Новое соединение». кнопка.
Во всплывающем окне «Свойства подключения» укажите имя сервера (.для локальной базы данных), выберите имя базы данных и нажмите кнопку OK.
Это добавит в файл app.config строку подключения с именем Entities. Нажмите «Далее» после настройки подключения к базе данных.
<р>5. На этом шаге вам нужно выбрать версию Entity Framework. В основных руководствах мы будем использовать Entity Framework 6.0, поэтому выберите Entity Framework 6.0 и нажмите "Далее".
Примечание. Если вы уже установили последнюю версию Entity Framework с помощью диспетчера NuGet, этот шаг мастера больше не будет отображаться.
<р>6. На следующем шаге отобразятся все таблицы, представления и хранимые процедуры (SP) в базе данных. Выберите нужные таблицы, представления и SP, оставьте установленными флажки по умолчанию и нажмите «Готово». При желании вы можете изменить пространство имен модели.Флажок Использовать во множественном или единственном числе сгенерированные имена объектов присваивает имени набора сущностей единственное число, если имя таблицы в базе данных множественное. Например, если база данных SchoolDB содержит имя таблицы «Студенты», набор сущностей будет единственным «Студент». Точно так же отношения между моделями будут множественными, если таблица имеет отношение «один ко многим» или «многие ко многим» с другими таблицами. Например, таблица «Студент» имеет связь «многие ко многим» с таблицей «Курс», поэтому набор сущностей «Студент» будет иметь имя «Курсы» во множественном числе для свойства навигации коллекции типа «Курс».
Второй флажок "Включить столбцы внешнего ключа в модель" включает свойство внешнего ключа, явно представляющее внешний ключ. Например, таблица Student имеет связь «один ко многим» с таблицей Standard. Чтобы представить это в модели, набор сущностей Student включает свойство StandardId со стандартным свойством навигации по ссылкам. Если этот флажок не установлен, он будет включать только стандартное справочное свойство навигации, но не StandardId .
Третий флажок «Импортировать выбранные хранимые процедуры и функции в модель объекта» автоматически создает импорт функций для хранимых процедур и функций. Вам не нужно импортировать функции вручную, как это было необходимо до Entity Framework 6.0.
<р>7. После нажатия кнопки «Готово» в ваш проект будет добавлен файл School.edmx.Откройте конструктор EDM, дважды щелкнув файл School.edmx. При этом отображаются все объекты для выбранных таблиц и связи между ними, как показано ниже:
EDM добавляет параметры поставщика и строки подключения в файл App.config, как показано ниже:
Таким образом, вы можете создать файл Entity Data Model (.edmx) для существующей базы данных.
Вы можете открыть конструктор EDM в представлении XML, где вы можете увидеть все три части EDM: концептуальную схему (CSDL), схему хранения (SSDL) и схему сопоставления (MSL) вместе в представлении XML.
Щелкните правой кнопкой мыши файл School.edmx -> выберите "Открыть с помощью...". Откроется всплывающее окно.
Выберите «XML (текстовый) редактор» во всплывающем окне.
Visual Studio не может одновременно отображать модель в представлении «Дизайн» и в формате XML, поэтому вы увидите сообщение с вопросом, можно ли закрыть представление «Дизайн» модели. Нажмите «Да». Это откроет представление формата XML. Вы можете увидеть следующее представление XML, переключив все элементы, как показано ниже.
Здесь можно просмотреть содержимое SSDL, содержимое CSDL и сопоставление C-S. Если вы расширите SSDL и CSDL, каждый из них будет иметь некоторый общий узел XML в каждом узле схемы. Вам не нужно редактировать XML-данные, поскольку это проще сделать в обозревателе моделей.
Теперь давайте рассмотрим все строительные блоки сгенерированного EDM (School.edmx), как показано на рисунке выше.
Сопоставление таблицы сущностей
Каждый объект в EDM сопоставляется с таблицей базы данных. Вы можете проверить сопоставление сущности и таблицы, щелкнув правой кнопкой мыши любую сущность в конструкторе EDM -> выберите Сопоставление таблицы.Кроме того, если вы измените какое-либо имя свойства объекта в конструкторе, сопоставление таблиц отразит это изменение автоматически.
Контекст и классы сущностей
Каждая модель данных объекта создает контекст и класс объекта для каждой таблицы базы данных. Разверните файл .edmx в обозревателе решений и откройте два важных файла, .Context.tt и .tt , как показано ниже:
School.Context.tt: этот файл шаблона T4 создает класс контекста при каждом изменении модели данных объекта (файл .edmx). Вы можете увидеть файл класса контекста, развернув School.Context.tt . Класс контекста находится в файле .context.cs. Имя класса контекста по умолчанию — Entities . Например, имя класса контекста для SchoolDB — SchoolDBEntities, производное от класса DBContext.
School.tt: School.tt — это файл шаблона T4, который создает классы сущностей для каждой таблицы БД. Классы сущностей — это классы POCO (обычный старый объект CLR). В следующем фрагменте кода показан объект Student.
Узнайте, как просмотреть все объекты EDM с помощью обозревателя моделей, в следующем разделе.
Полностью работает в VS2017. И полностью функционален (может обновляться) после создания с помощью VS2017.
Текст был успешно обновлен, но возникли следующие ошибки:
Ya-Wang прокомментировала 30 июня 2020 г.
Щелкните правой кнопкой мыши по проекту
EF Designer из базы данных
Ошибка, файлы emdx пусты, но созданы.
SSDiver2112 прокомментировал 30 июня 2020 г.
Я работал над этим и искал ответ последние пару дней. Я много раз удалял и воссоздавал файлы edmx, перестраивая, перезапуская и т. Д., Пытаясь найти волшебную комбинацию. Файлы ниже создаются, но не файлы .tt.
Двойной щелчок по файлу edmx возвращает одно из этих двух сообщений.
Файлы .tt можно сделать, но только из конструктора, который не открывается. Я сделал это на прошлой неделе, и в пятницу все работало. В понедельник мне нужно было внести некоторые изменения, и теперь edmx неполный, и ничего больше не будет работать.
Установленная версия: сообщество
Поставщик услуг ADL Tools 1.0
Этот пакет содержит службы, используемые инструментами Data Lake
Поставщик услуг ASA 1.0
Инструменты службы приложений Azure версии 3.0.0 16.7.392.237
Инструменты службы приложений Azure версии 3.0.0
Azure Data Lake Node 1.0
Этот пакет содержит узлы интеграции Data Lake для Server Explorer.
Инструменты Azure Data Lake для Visual Studio 2.4.6000.1
Инструменты Microsoft Azure Data Lake для Visual Studio
Функции Azure и инструменты веб-задания 16.7.392.237
Функции Azure и инструменты веб-задания
Инструменты Azure Stream Analytics для Visual Studio 2.4.6000.1
Инструменты Microsoft Azure Stream Analytics для Visual Studio
Выравнивание кода 14.1.107.0
Выравнивание кода помогает красиво представить код, повышая ясность и удобочитаемость.
CodeRush для Roslyn 20.1.4.0
DevExpress CodeRush для пакета Roslyn.
CodeRush для Roslyn Tool Windows 20.1.4.0
DevExpress CodeRush для пакета Roslyn Tool для Windows.
Общие инструменты Azure 1.10
Предоставляет общие службы для использования мобильными службами Azure и инструментами Microsoft Azure.
Entity Framework 6 Power Tools 0.9.2
Предварительный просмотр полезных функций DbContext во время разработки, добавленных в контекстное меню обозревателя решений Visual Studio.
При щелчке правой кнопкой мыши файла, содержащего производный класс DbContext, поддерживаются следующие функции контекстного меню:
- Просмотр модели данных объекта (только для чтения). Отображает представление модели Code First только для чтения в конструкторе моделей объектов.
- Просмотреть XML-файл модели данных объекта. Отображает XML-файл EDMX, представляющий базовую модель Code First.
- Просмотр модели данных объекта DDL SQL — отображает DDL SQL, соответствующий SSDL в базовой модели EDM.
- Создать представления: создает предварительно скомпилированные представления, используемые средой выполнения EF для повышения производительности при запуске. Добавляет сгенерированный файл представлений в содержащий проект.
При щелчке правой кнопкой мыши файла Entity Data Model (*.edmx) поддерживается следующая функция контекстного меню:
Generate Views — создает предварительно скомпилированные представления, используемые средой выполнения EF для повышения производительности при запуске. . Добавляет сгенерированный файл представлений в содержащий проект.
Microsoft Visual Studio Community 2019 Preview
Версия 16.7.0 Preview 3.1
Fabric.DiagnosticEvents 1.0
События диагностики Fabric
IntelliCode Extension 1.0
Подробная информация о расширении IntelliCode Visual Studio
KnownMonikers Explorer 1.1.28
Инструментальное окно для авторов расширений Visual Studio для изучения коллекции изображений KnownMonikers
Узел Microsoft Azure HDInsight Azure 2.4.6000.1
Узел HDInsight в узле Azure
Языковая служба Microsoft Azure Hive Query 2.4.6000.1
Языковая служба для запросов Hive
Инструменты Microsoft Azure Service Fabric для Visual Studio 16.0
Инструменты Microsoft Azure Service Fabric для Visual Studio
Языковая служба Microsoft Azure Stream Analytics 2.4.6000.1
Языковая служба для Azure Stream Analytics
Узел Microsoft Azure Stream Analytics 1.0
Узел Azure Stream Analytics в узле Azure
Инструменты Microsoft Azure 2.9
Инструменты Microsoft Azure для Microsoft Visual Studio 2019 — версия 2.9.30415.2
Инструменты непрерывной доставки Microsoft для Visual Studio 0.4
Упрощение настройки конвейеров Azure DevOps из Visual Studio IDE.
Microsoft JVM Debugger 1.0
Поддерживает подключение отладчика Visual Studio к JDWP-совместимым виртуальным машинам Java
Microsoft Library Manager 2.1.79+ge3567815aa.RR
Простая установка клиентских библиотек в любой веб-проект
Microsoft MI-Based Debugger 1.0
Поддерживает подключение Visual Studio к отладчикам, совместимым с MI
ProjectServicesPackage Extension 1.0
Подробная информация о расширении ProjectServicesPackage Visual Studio
Инструменты данных SQL Server 16.0.62006.04220
Инструменты данных Microsoft SQL Server
Поменять выделение 1.2
Использование множественного выделения для выбора двух фрагментов текста и их замены местами.
ToolWindowHostedEditor 1.0
Размещение редактора json в окне инструментов
Инструменты TypeScript 16.0.20610.2001
Инструменты TypeScript для Microsoft Visual Studio
Visual Basic Tools 3.7.0-3.20312.3+ec4841263590f5456e32728d98097e97c1605e22
Компоненты Visual Basic, используемые в среде IDE. В зависимости от типа и настроек вашего проекта может использоваться другая версия компилятора.
Пакет узла адаптера отладки кода Visual Studio 1.0
Уровень взаимодействия для размещения адаптеров отладки кода Visual Studio в Visual Studio
Расширения Visual Studio Container Tools Extensions (предварительная версия) 1.0
Просмотр, управление и диагностика контейнеров в Visual Studio.
Инструменты Visual Studio для контейнеров 1.0
Инструменты Visual Studio для контейнеров
- 1. Меньше кодов, связанных с базой данных.
- 2. Быстрое развитие проектов.
- 3. Лучшая транзакция.
- 4. Тестирование улучшений.
В этом уроке я помогу вам разобраться с Entity Framework.
Entity Framework Core. Последней версией Entity Framework является Entity Framework Core. Вы можете узнать о ней из серии руководств, созданных специально для программистов.
Установите Entity Framework (EF) через Nuget
Вы можете установить Entity Framework через Nuget в Visual Studio. Эта процедура одинакова для всех версий Visual Studio.
Сначала щелкните правой кнопкой мыши свой проект в обозревателе решений и выберите "Управление пакетами Nuget" .
Откроется окно диспетчера пакетов NuGet. Здесь в поле поиска введите Entity Framework .
Когда появится EF, выберите его и нажмите кнопку установки.
Далее нажмите кнопку «Я согласен» в окне «Принятие лицензии». Это запустит установку EF.
Это займет менее минуты, и вскоре вы увидите сообщение "Успешно установлено" в окне "Вывод".
Восстановить базу данных в SQL Server
Чтобы проиллюстрировать это руководство, я воспользуюсь базой данных Northwind, которую вы можете скачать здесь.
Файл загрузки находится в формате .zip. Извлеките из него файл Northwind.bak.
Затем восстановите его на SQL Server.
- 1. Откройте Microsoft SQL Server Management Studio.
- 2. Щелкните правой кнопкой мыши узел "Базы данных" и выберите "Восстановить базу данных".
- 3. В окне «Восстановить базу данных» выберите параметр «Устройство» и нажмите кнопку «…» справа от него.
- 4. Откроется окно Выбор устройств резервного копирования. В этом окне выберите «Файл» в качестве типа резервного носителя и нажмите кнопку «Добавить».
- 5. Откроется окно «Найти файл резервной копии». Теперь найдите и выберите файл Northwind.bak и нажмите кнопку «ОК».
- 6. Вы увидите, что окно «Выбор устройств резервного копирования» (шаг 4) теперь содержит расположение Northwind.bak. Нажмите кнопку "ОК".
- 7. Точно так же окно «Восстановить базу данных» на шаге 3 теперь содержит расположение «Northwind.bak» и готово к восстановлению. Нажмите кнопку "ОК".
- 8. Процедура восстановления продолжится, и через несколько секунд вы получите сообщение о том, что база данных «Борей» успешно восстановлена.
На этом процедура восстановления базы данных Northwind завершена, и теперь вы готовы использовать эту базу данных.
Внешние поставщики, такие как Google, также могут выполнять аутентификацию пользователей. Ознакомьтесь с этим руководством по API контактов Google, в котором я создал приложение Google для аутентификации пользователей с помощью API Google.
Создать файл EDMX
Файл EDMX (Entity Data Model XML) — это XML-файл, описывающий взаимосвязь между различными моделями Entity Framework. Он также обеспечивает графическое представление этих отношений. Файл EDMX — это самая важная часть Entity Framework, с помощью которой мы выполняем различные операции, такие как вставка, удаление, обновление и чтение.
Теперь я готов создать файл EDMX для базы данных Northwind в своей Visual Studio.
Выполните действия, указанные ниже.
2. Мастер модальных данных объекта
Здесь Visual Studio попросит вас выбрать вариант из нескольких шагов, начиная с выбора содержимого модели .
Вы откроете окно «Выбор содержимого модели», и Visual Studio спросит вас, что должно содержать модальное окно? . Поэтому выберите вариант с надписью EF Designer из базы данных и нажмите кнопку «Далее».
Здесь нажмите кнопку «Новое подключение», чтобы открыть окно «Свойства подключения».
Введите имя сервера в текстовое поле и выберите NORTHWND в разделе Подключиться к базе данных. Затем нажмите кнопку «ОК».
Чтобы проверить правильность свойств подключения, нажмите кнопку "Проверить подключение".
Окно «Свойства подключения» закроется, и вы снова откроете окно «Выбор подключения к данным». Теперь в этом окне будут параметры, заданные вами в окне свойств подключения.
Поэтому установите флажок «Сохранить параметры подключения в Web.Config как» и нажмите кнопку «Далее».
3. Выберите объекты и настройки базы данных
Здесь Visual Studio попросит вас выбрать, какие объекты базы данных вы хотите включить в свою модель? . Поэтому выберите все три — «Таблицы», «Представления», «Хранимые процедуры и функции».
- Имена сгенерированных объектов в единственном или множественном числе.
- Включить столбцы внешнего ключа в модель
- Импортировать выбранные хранимые процедуры и функции в модель объекта.
Наконец-то нажмите кнопку "Готово".
На этом создание файла EDMX завершено. Файл EDMX для базы данных Northwind откроется в Visual Studio.
Читайте также: