Общие сведения об элементах управления источниками данных

Обновлен: Ноябрь 2007

В ASP.NET включены элементы управления источниками данных, позволяющие работать с разными типами источников данных, таких как база данных, XML-файл или бизнес-объект среднего уровня. Элементы управления источниками данных подключаются к источникам данных и извлекают из них данные, а также позволяют другим элементам управления связываться с ними, не требуя написания кода. Элементы управления источниками данных также могут поддерживать изменение данных.

В этом разделе содержатся сведения о разных типах элементов управления источниками данных в ASP.NET. Модель элемента управления источником данных является расширяемой, что позволяет создавать собственные элементы управления источниками данных, взаимодействующие с разными источниками данных или предоставляющие дополнительные функциональные возможности существующему источнику данных.

Сравнение элементов управления источниками данных

Платформа .NET Framework включает в себя элементы управления источниками данных для поддержки разных сценариев привязки данных. В следующей таблице описываются встроенные элементы управления источниками данных. Каждый тип элемента управления источником данных рассматривается более подробно далее в этом разделе.

Элемент управления источником данных

Описание

LinqDataSource

Позволяет использовать запросы LINQ на веб-странице ASP.NET через декларативную разметку, чтобы извлечь данные из объекта данных и изменить их. Элемент управления поддерживает автоматическое формирование команд выбора, обновления, вставки и удаления. Также поддерживается сортировка, фильтрация и разбиение по страницам.

EntityDataSource

Позволяет выполнять привязку к данным, основанным на сущностной модели данных (EDM). Элемент управления поддерживает автоматическое формирование команд обновления, вставки, удаления и выбора. Также поддерживается сортировка, фильтрация и разбиение по страницам.

ObjectDataSource

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

SqlDataSource

Позволяет работать с базами данных Microsoft SQL Server, OLE DB, ODBC или Oracle. При использовании с SQL Server поддерживает расширенные возможности кэширования. Также элемент управления поддерживает сортировку, фильтрацию и разбиение по страницам при возврате данных в виде объекта DataSet.

AccessDataSource

Позволяет работать с базой данных Microsoft Access. Поддерживает сортировку, фильтрацию и разбиение по страницам при возврате данных в виде объекта DataSet.

XmlDataSource

Позволяет работать с XML-файлом, особенно для иерархических серверных элементов управления ASP.NET, например, для элемента управления TreeView или Menu. Поддерживает возможности фильтрации с использованием выражений XPath и позволяет применять к данным преобразование XSLT. XmlDataSource позволяет обновлять данные путем сохранения всего XML-документа с изменениями.

SiteMapDataSource

Используется со структурой переходов веб-узла ASP.NET. Дополнительные сведения см. в разделе Общие сведения об структуре переходов веб-узла ASP.NET.

Элемент управления LinqDataSource

Элемент управления LinqDataSource позволяет использовать LINQ на странице ASP.NET для извлечения данных из таблицы базы данных или из коллекции данных в памяти. Можно использовать декларативную разметку, чтобы указать все условия, необходимые для извлечения, фильтрации, сортировки и группирования данных. При извлечении данных из таблицы базы данных SQL, можно также настроить элемент управления LinqDataSource на обработку операций обновления, вставки и удаления данных. Это можно сделать путем написания команд SQL для выполнения таких задач. Используя элемент управления LinqDataSource, можно уменьшить объем кода, требуемого для операций с данными, по сравнению с выполнением этих же операций с использованием других элементов управления источниками данных.

Дополнительные сведения см. в разделе Общие сведения о серверном веб-элементе управления LinqDataSource.

Элемент управления SqlDataSource

Элемент управления SqlDataSource извлекает и изменяет данные, используя команды SQL. Элемент управления SqlDataSource поддерживает базы данных Microsoft SQL Server, OLE DB, ODBC и Oracle.

Элемент управления SqlDataSource может вернуть результаты в качестве объекта DataReader или DataSet. Он поддерживает сортировку, фильтрацию и кэширование при возврате результатов как DataSet. При работе с Microsoft SQL Server элемент управления имеет дополнительное преимущество в том, что он может сделать результаты кэша недействительными при изменениях в базе данных, используя объект SqlCacheDependency.

Дополнительные сведения см. в разделе Общие сведения о серверном веб-элементе управления SqlDataSource.

Элемент управления EntityDataSource

Элемент управления EntityDataSource поддерживает сценарии привязки данных на основе модели EDM. В соответствии с этой спецификацией данных данные представляются как наборы сущностей и связей. Модель EDM используется Entity Framework в объектно-ориентированном сопоставлении и в других сценариях, например в службах данных ADO.NET. Элемент управления EntityDataSource поддерживает Entity-SQL (eSQL) в качестве языка запросов, а также поддерживает спецификацию запросов, предоставляемую классом ObjectQuery<T>.

Дополнительные сведения см. в разделе Общие сведения о серверном веб-элементе управления EntityDataSource.

Элемент управления ObjectDataSource

Элемент управления ObjectDataSource работает с бизнес-объектом или с другим классом в веб-приложениях, использующих бизнес-объекты среднего уровня для управления данными. Элемент управления предназначен для взаимодействия с объектом, реализующим один или несколько методов для извлечения или изменения данных. При взаимодействии элементов управления с привязкой к данным с элементом управления ObjectDataSource для извлечения или изменения данных, элемент управления ObjectDataSource передает значения от связанного элемента управления исходному объекту в качестве параметров в вызовах метода.

Методы извлечения данных исходного объекта должны вернуть объект DataSet, DataTable или DataView, или объект, реализующий интерфейс IEnumerable. Если данные возвращаются как объект DataSet, DataTable или DataView, то элемент управления ObjectDataSource может кэшировать и фильтровать данные. Также можно реализовать дополнительные сценарии разбиения по страницам, если исходный объект принимает сведения о размере страницы и индексе записи из элемента управления ObjectDataSource.

Дополнительные сведения см. в разделе Общие сведения о серверном веб-элементе управления ObjectDataSource.

Элемент управления XmlDataSource

Элемент управления XmlDataSource считывает и записывает XML-данные, чтобы с ними можно было работать используя элементы управления, например TreeView и Menu. Элемент управления XmlDataSource может считывать XML-файл или строку XML. При работе элемента управления с XML-файлом он может записывать измененные XML-данные обратно в исходный файл. Если доступна схема, описывающая данные, то элемент управления XmlDataSource может использовать схему для предоставления данных путем использования типизированных членов.

Можно применить преобразование XSLT к XML-данным, что позволит преобразовать необработанные данные из XML-файла и представить их в формате, более удобном для элемента управления, который нужно связать с XML-данными.

Также можно применить выражения XPath к XML-данным, что позволит фильтровать XML-данные и возвращать только определенные узлы в дереве XML или искать узлы с определенными значениями и т. д. Использование выражения XPath отключает возможность вставки новых данных.

Дополнительные сведения см. в разделе Общие сведения о серверном веб-элементе управления XmlDataSource.

Элемент управления AccessDataSource

Элемент управления AccessDataSource является специализированной версией элемента управления SqlDataSource, разработанной специально для работы с MDB-файлами Microsoft Access. Как и для элемента управления SqlDataSource, необходимо использовать инструкции SQL для определения того, как элемент управления выбирает и извлекает данные.

Дополнительные сведения см. в разделе Общие сведения о серверном веб-элементе управления AccessDataSource.

Элемент управления SiteMapDataSource

Элемент управления SiteMapDataSource работает с картами веб-узла ASP.NET и предоставляет данные структуры переходов веб-узла. Чаще всего он используется с элементом управления Menu. Элемент управления SiteMapDataSource также полезен при необходимости настройки структуры переходов веб-узла с использованием данных карты веб-узла с помощью серверных веб-элементов управления, не разработанных специально для переходов, например, элементов управления TreeView или DropDownList.

Дополнительные сведения см. в разделе Общие сведения о серверном веб-элементе управления SiteMapDataSource.

См. также

Основные понятия

Общие сведения о доступе к данным в ASP.NET

Привязка к базам данных

Использование параметров с элементами управления источников данных