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


Объекты DataSet ADO.NET

Объект DataSet является центральным элементом поддержки разъединенных распределенных сценариев данных в ADO.NET. Объект DataSet является находящимся в оперативной памяти представлением данных, обеспечивающим согласованную реляционную программную модель, независимо от источника данных. Он может использоваться с несколькими различными источниками данных, XML-данными или для управления данными, локальными по отношению к приложению. Объект DataSet представляет полный набор данных, включая связанные таблицы, ограничения и связи между таблицами. На следующей иллюстрации показана модель объектов DataSet.

Модель объектов DataSet

График ADO.Net

Методы и объекты DataSet согласованы с методами и объектами модели реляционной базы данных.

Объект DataSet также может сохранять и повторно загружать свое содержимое в виде XML, а свою схему — в виде схемы XSD. Дополнительные сведения см. в разделе Использование XML в DataSet (ADO.NET).

Класс DataTableCollection

Объект ADO.NET DataSet содержит коллекцию, содержащую ноль или более таблиц, представленных объектами DataTable. Коллекция DataTableCollection содержит все объекты DataTable в объекте DataSet.

Объект DataTable определяется в пространстве имен System.Data и представляет собой одну таблицу, находящуюся в оперативной памяти. Он содержит коллекцию столбцов, представленных объектом DataColumnCollection, и ограничений, представленных объектом ConstraintCollection, которые вместе определяют схему таблицы. Объект DataTable также содержит коллекцию строк, представленных объектом DataRowCollection, содержащим данные в таблице. Вместе со своим текущим состоянием объект DataRow сохраняет обе свои версии (текущую и исходную), чтобы определить изменения значений, хранимых в строке.

Класс DataView

DataView позволяет создавать различные представления данных, которые хранятся в DataTable. Эта возможность часто используется в приложениях связывания данных. С помощью объекта DataView можно представлять данные в таблице с различными порядками сортировки, а также фильтровать данные по состоянию строки или на основе критерия фильтра. Дополнительные сведения см. в разделе Объекты DataView (ADO.NET).

Класс DataRelationCollection

Объект DataSet содержит связи в своем объекте DataRelationCollection. Связь, представленная объектом DataRelation, связывает строки в одном объекте DataTable со строками в другом объекте DataTable. Связь аналогична пути соединения, который может существовать между столбцами первичного и внешнего ключей реляционной базы данных. Объект DataRelation определяет совпадающие столбцы в двух таблицах объекта DataSet.

Связи позволяют перемещаться в объекте DataSet от одной таблицы к другой. Важными элементами объекта DataRelation являются имя связи, имена связанных таблиц и связанные столбцы в каждой таблице. Связи могут быть построены с более чем одним столбцом для каждой таблицы путем указания массива объектов DataColumn в качестве ключевых столбцов. При добавлении связи к объекту DataRelationCollection дополнительно можно добавить UniqueKeyConstraint и ForeignKeyConstraint, чтобы обеспечить ограничения целостности в случае изменений значений связанных столбцов.

Дополнительные сведения см. в разделе Добавление объектов DataRelation (ADO.NET).

XML

Объект DataSet можно заполнить из XML-потока или XML-документа. XML-поток или XML-документ можно использовать для предоставления объекту DataSet данных, сведений схемы или того и другого. Данные, полученные из XML-потока или XML-документа можно объединять с существующими данными или сведениями схемы, уже имеющимися в объекте DataSet. Дополнительные сведения см. в разделе Использование XML в DataSet (ADO.NET).

Свойство ExtendedProperties

Объекты DataSet, DataTable и DataColumn имеют свойство ExtendedProperties. Свойство ExtendedProperties является коллекцией PropertyCollection, где можно размещать пользовательские сведения, например инструкцию SELECT, используемую для формирования результирующего набора, или время формирования данных. Коллекция ExtendedProperties сохраняется со сведениями о схеме для объекта DataSet.

LINQ to DataSet

LINQ to DataSet предоставляет возможности выполнения запросов LINQ к кэшированным данным, хранящимся в объекте DataSet. LINQ to DataSet использует стандартный синтаксис LINQ и обеспечивает проверку синтаксиса во время компиляции, статическую типизацию и поддержку технологии IntelliSense при использовании среды разработки Visual Studio.

Дополнительные сведения см. в разделе LINQ to DataSet.

См. также

Другие ресурсы

Общие сведения об ADO.NET

Объекты DataSet, DataTable и DataView (ADO.NET)

Получение и изменение данных в ADO.NET