Поделиться через


Создание и настройка наборов данных в .NET Framework с помощью Visual Studio

Заметка

Наборы данных и связанные классы являются устаревшими технологиями .NET Framework с начала 2000-х годов, которые позволяют приложениям работать с данными в памяти, пока приложения отключены от базы данных. Технологии особенно полезны для приложений, которые позволяют пользователям изменять данные и сохранять изменения обратно в базу данных. Хотя наборы данных зарекомендовали себя как очень успешная технология, мы рекомендуем, чтобы новые приложения .NET использовали Entity Framework Core. Entity Framework предоставляет более естественный способ работы с табличными данными в виде объектных моделей, и он имеет более простой интерфейс программирования.

Набор данных — это набор объектов, которые хранят данные из базы данных в памяти и поддерживают отслеживание изменений для включения операций создания, чтения, обновления и удаления данных без необходимости всегда подключаться к базе данных. Для работы с наборами данных необходимо иметь базовые знания о концепциях базы данных.

Вы можете создать типизированный класс DataSet в Visual Studio во время разработки с помощью мастера настройки источника данных . Сведения о создании наборов данных программным способом см. в статье Создание набора данных.

Необходимые условия

  • Visual Studio с установленными рабочими нагрузками разработки настольных приложений .NET и хранилища и обработки данных. Чтобы установить их, откройте Установщик Visual Studio и выберите Изменить рядом с версией Visual Studio, которую вы хотите изменить.

  • Проект .NET Framework. Не используйте .NET Core или .NET 5 или более поздней версии.

  • SQL Server Express LocalDB. Если у вас нет SQL Server Express LocalDB, его можно установить на странице загрузки SQL Server.

Создание нового набора данных с помощью мастера настройки источника данных

  1. Откройте проект в Visual Studio, а затем выберите Project>добавить новый источник данных, чтобы запустить мастер настройки источника данных.

  2. Выберите базу данных в качестве типа источника данных, а затем выберите Далее.

    снимок экрана, на котором показан мастер настройки источника данных.

  3. Выберите Набор данных, а затем выберите Далее.

    снимок экрана, на котором показано, как выбрать набор данных в качестве модели базы данных.

  4. Выберите одну или несколько баз данных для подключения к данным вашего набора данных, а затем нажмите кнопку Далее.

    снимок экрана, показывающий, как выбрать базу данных в качестве источника данных.

  5. Выберите таблицы (или отдельные столбцы), представления, хранимые процедуры и функции из базы данных, которую вы хотите представить в наборе данных.

    снимок экрана, на котором показано, как выбрать объекты базы данных.

  6. Выберите Готово.

    Набор данных отображается как узел в обозревателе решений.

    снимок экрана, показывающий, как набор данных отображается в обозревателе решений.

  7. Дважды кликните узел набора данных в обозревателе решений.

    Набор данных открывается в конструкторе наборов данных.

    Каждая таблица в наборе данных содержит связанный объект TableAdapter, который представлен в нижней части схемы таблицы. Адаптер таблицы используется для заполнения набора данных и при необходимости для отправки команд в базу данных.

    снимок экрана, на котором показаны таблицы данных в конструкторе наборов данных.

  8. Если вы хотите изменить поведение иерархических обновлений, можно дважды щелкнуть линию связи между двумя таблицами, чтобы отобразить диалоговое окно отношения.

    Линии связи, которые соединяют таблицы, представляют связи таблиц, как определено в базе данных. По умолчанию ограничения внешнего ключа в базе данных представляются только в виде отношения, при этом правила обновления и удаления имеют значение none, что обычно является нужным. Дополнительные сведения см. в статье Создание связей между наборами данных и Иерархическое обновление.

    снимок экрана, показывающий диалоговое окно

  9. В конструкторе наборов данных выберите таблицу, адаптер таблицы или имя столбца, чтобы просмотреть его свойства в окне Свойства. Хотя вы можете изменить некоторые значения в окне, помните, что вы изменяете набор данных, а не исходную базу данных.

    снимок экрана со свойствами столбца DataSet.

  10. Вы можете добавить новые таблицы или адаптеры таблиц в датасет, добавить новые запросы для существующих адаптеров таблиц или указать новые отношения между таблицами, перетаскивая эти элементы из вкладки Toolbox слева. Эта вкладка отображается, когда Дизайнер Датасетов находится в фокусе.

    снимок экрана, на котором показана панель элементов набора данных.

  11. При необходимости может потребоваться указать, как заполнить набор данных данными. Для этого используйте Мастер настройки TableAdapter . Дополнительные сведения см. в разделе «Заполнение наборов данных с помощью TableAdapters».

Добавление таблицы базы данных или другого объекта в существующий набор данных

В этой процедуре показано, как добавить таблицу из той же базы данных, которую вы использовали для создания набора данных:

  1. Дважды щелкните узел набора данных в Проводнике решений.

    Набор данных открывается в конструкторе наборов данных.

  2. Выберите вкладку источников данных в левой панели Visual Studio или введите источники данных в поле поиска.

  3. Щелкните правой кнопкой мыши на узле набора данных и выберите Настроить источник данных с помощью мастера.

    снимок экрана с контекстным меню источника данных.

  4. Используйте мастер настройки источника данных , чтобы указать, какие дополнительные таблицы, хранимые процедуры или другие объекты базы данных добавляются в набор данных.

Добавление автономной таблицы данных в набор данных

  1. Откройте набор данных в конструкторе наборов данных.

  2. Перетащите класс DataTable с вкладки "Набор данных" панели инструментов в конструктор наборов данных.

  3. Добавьте столбцы для определения таблицы данных. Щелкните таблицу правой кнопкой мыши и выберите Добавить>столбец. В окне Свойства задайте тип данных столбца. При необходимости добавьте ключ, выбрав Добавить>ключ.

Автономные таблицы должны реализовать логику Fill, чтобы можно было заполнить их данными. Сведения о заполнении таблиц данных см. в разделе Заполнение набора данных изDataAdapter.