Как добавить источник данных в Visual Studio
Обновлено: 20.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 Framework, связанный с какой-либо базой данных.
Набор данных, связанный с какой-либо базой данных.
Класс, представляющий сетевую службу, например службу данных Windows Communication Foundation (WCF) или службу REST.
Класс, представляющий службу SharePoint.
Класс или коллекция в вашем решении.
Если вы не используете функции привязки данных, наборы данных, Entity Framework, LINQ to SQL, WCF или SharePoint, понятие "источник данных" не применяется. Просто подключитесь напрямую к базе данных с помощью объектов SQLCommand и взаимодействуйте напрямую с базой данных.
Вы создаете и редактируете источники данных с помощью мастера настройки источника данных в приложении Windows Forms или Windows Presentation Foundation. Для Entity Framework сначала создайте классы сущностей, а затем запустите мастер, выбрав «Проект» > «Добавить новый источник данных» (более подробно описано далее в этой статье).
Окно «Источники данных»
После создания источника данных он появляется в окне инструмента "Источники данных".
Чтобы открыть окно "Источники данных", убедитесь, что ваш проект открыт, а затем нажмите Shift+Alt+D или выберите "Просмотр" > "Другие окна" > "Источники данных".
Вы можете перетащить источник данных из окна "Источники данных" на область разработки формы или элемент управления. Это приводит к созданию стандартного кода, отображающего данные из хранилища данных.
На следующем рисунке показан набор данных, помещенный в форму Windows. Если вы нажмете F5 в приложении, данные из базовой базы данных появятся в элементах управления формы.
Источник данных для базы данных или файл базы данных
Вы можете создать набор данных или модель Entity Framework для использования в качестве источника данных для базы данных или файла базы данных.
Набор данных
Чтобы создать набор данных в качестве источника данных, запустите мастер настройки источника данных, выбрав «Проект» > «Добавить новый источник данных». Выберите тип источника данных База данных и следуйте инструкциям, чтобы указать либо новое, либо существующее подключение к базе данных, либо файл базы данных.
Классы сущностей
Чтобы создать модель Entity Framework в качестве источника данных:
Выберите метод, которым вы хотите создать модель.
Добавьте модель в качестве источника данных. Сгенерированные классы отображаются в мастере настройки источника данных при выборе категории «Объекты».
Источник данных для службы
Чтобы создать источник данных из службы, запустите мастер настройки источника данных и выберите тип источника данных Служба. Это всего лишь ярлык диалогового окна «Добавить ссылку на службу», доступ к которому также можно получить, щелкнув правой кнопкой мыши проект в обозревателе решений и выбрав «Добавить ссылку на службу».
При создании источника данных из службы Visual Studio добавляет в проект ссылку на службу. Visual Studio также создает прокси-объекты, соответствующие объектам, возвращаемым службой. Например, служба, возвращающая набор данных, представлена в вашем проекте как набор данных; служба, возвращающая определенный тип, представлена в вашем проекте как возвращаемый тип.
Вы можете создать источник данных из следующих типов служб:
Элементы, отображаемые в окне "Источники данных", зависят от данных, возвращаемых службой. Некоторые службы могут не предоставить мастеру настройки источника данных достаточно информации для создания связываемых объектов. Например, если служба возвращает нетипизированный набор данных, после завершения работы мастера в окне «Источники данных» не появятся элементы. Это связано с тем, что нетипизированные наборы данных не предоставляют схему, поэтому у мастера недостаточно информации для создания источника данных.
Источник данных для объекта
Вы можете создать источник данных из любого объекта, который предоставляет одно или несколько общедоступных свойств, запустив мастер настройки источника данных и выбрав тип источника данных "Объект". Все общедоступные свойства объекта отображаются в окне Источники данных. Если вы используете Entity Framework и создали модель, здесь вы найдете классы сущностей, которые являются источниками данных для вашего приложения.
На странице "Выбор объектов данных" разверните узлы в представлении в виде дерева, чтобы найти объекты, к которым вы хотите привязаться. Представление в виде дерева содержит узлы для вашего проекта, а также для сборок и других проектов, на которые ссылается ваш проект.
Если вы хотите привязать объект в сборке или проекте, который не отображается в представлении в виде дерева, нажмите «Добавить ссылку» и используйте диалоговое окно «Добавить ссылку», чтобы добавить ссылку на сборку или проект. После добавления ссылки сборка или проект добавляются в представление в виде дерева.
Возможно, вам потребуется создать проект, содержащий ваши объекты, до того, как объекты появятся в представлении в виде дерева.
Для поддержки привязки данных с помощью перетаскивания объекты, реализующие интерфейс ITypedList или IListSource, должны иметь конструктор по умолчанию. В противном случае Visual Studio не сможет создать экземпляр объекта источника данных и отобразит ошибку при перетаскивании элемента в область конструктора.
Источник данных для списка SharePoint
Вы можете создать источник данных из списка SharePoint, запустив мастер настройки источника данных и выбрав тип источника данных SharePoint. SharePoint предоставляет данные через WCF Data Services, поэтому создание источника данных SharePoint аналогично созданию источника данных из службы. При выборе элемента SharePoint в мастере настройки источника данных открывается диалоговое окно «Добавить ссылку на службу», в котором вы подключаетесь к службе данных SharePoint, указывая на сервер SharePoint. Для этого требуется SharePoint SDK.
Вы можете создавать источники данных на основе ваших объектов в приложении Visual Studio. После того как вы определили тип данных в качестве источника данных в проекте, вы можете создавать формы, которые отображают данные модели, перетаскивая элементы из окна «Источники данных» на формы.Эти элементы становятся элементами управления в форме, привязанными к источнику данных.
В этом разделе вы создадите источник данных для типа Category в базе данных SofiaCarRental. Затем вы будете использовать этот источник данных для создания формы Windows с элементами управления, привязанными к данным. Для выполнения этих процедур вы должны уже добавить в проект модель Northwind.
Чтобы создать источник данных на основе типа категории:
- Создайте новую модель SofiaCarRental.
- Создайте свой проект
- В меню "Данные" выберите "Добавить новый источник данных" (в Visual Studio 2012 используйте команду меню "Проект" -> "Добавить новый источник данных").
- На странице "Выберите тип источника данных" выберите "Объект".
- На странице "Выбор объекта, к которому вы хотите привязать" разверните узел проекта, разверните узел пространства имен проекта и выберите тип категории в древовидном представлении.
Нажмите «Готово». Источник данных «Категория» добавляется в окно «Источники данных» («Вид» -> «Другие окна» -> «Показать источники данных»).
Чтобы добавить элементы управления, привязанные к источнику данных, в форму Windows:
- В окне "Источники данных" разверните узел "Категория".
- Перетащите узел "Категория" в форму. Это создает элементы управления categoryBindingSource и categoryBindingSourceNavigator в форме. В форму также добавляется CategoriesDataGridView.
Чтобы связать источник данных с результатом запроса LINQ:
В код программной части добавьте следующий код, создающий экземпляр OpenAccessContext.
Прикрепить к событию Load формы.
В обработчик события Load добавьте следующий код.
См. также
Авторское право © 2017, Progress Software Corporation и/или ее дочерние компании или филиалы. Все права защищены.
Перед началом этого проекта убедитесь, что выполнены предварительные условия, перечисленные в разделе Компиляция проектов. Выполните следующие шаги, чтобы создать простое приложение базы данных с использованием таблиц, созданных в предыдущем упражнении.
Обратите внимание: если отображается промежуточный экран с предыдущим источником данных, нажмите кнопку «Изменить».
Если вам не удается установить соединение, возможно, ваша установка была выполнена неправильно. Компонент FairCom Database Engine устанавливается и запускается как служба Windows по умолчанию. Проверьте диспетчер служб Windows или переустановите FairCom DB.
Если вы используете лицензию разработчика, также возможно, что время ожидания ядра базы данных FairCom истекло и его необходимо перезапустить. См. раздел Мониторинг ядра базы данных FairCom.
Нажмите "ОК" в сообщении "Проверить подключение успешно", а затем еще раз "ОК" в диалоговом окне "Добавить подключение".
Если таблицы, показанные ниже, отсутствуют в списке, это означает, что вы не заполнили образец базы данных или выполнили одно из учебных пособий на основе консоли, в результате которого образец базы данных был удален. Обратитесь к разделу предварительных требований в разделе Компиляция ваших проектов, чтобы перезагрузить образец базы данных. Вы можете обновить следующий экран, нажав кнопку «Назад», а затем кнопку «Далее». Это нормально, если «Имя набора данных» в нижней части окна отличается от следующего изображения.
Мастер настройки источника данных добавляет новый источник данных в окно "Источники данных".
Примечание. Когда вы перетаскиваете первое поле в форму, Visual Studio добавляет элемент управления Binding Navigator.
При желании вы можете использовать инспектор свойств, чтобы изменить имена только что созданных полей на более описательные. Вот как выглядит наш проект после переименования полей:
Теперь сохраните и создайте свой проект. Запустите проект, нажав клавишу F5. Поэкспериментируйте с элементами навигации в верхней части окна, чтобы просмотреть тестовые данные.
Используя эту программу, которую вы только что создали:
Имейте в виду, что эта программа представляет собой всего лишь тестовую программу для «доказательства концепции», а не расширенное приложение. Это означает, среди прочего, что обработка исключений еще не реализована; поэтому эту программу очень легко сломать из-за необработанных исключений. Чтобы уменьшить вероятность этого, при использовании программы следует помнить о некоторых вещах:
Читайте также: