Наборы данных ADO.NET

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

ADO.Net graphic
Объектная модель DataSet

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

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

Класс DataTableCollection

Набор данных ADO.NET содержит коллекцию из нуля или более таблиц, представленных объектамиDataTable. Содержит DataTableCollection все объекты DataTable в наборе данных.

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

Класс DataView

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

Класс DataRelationCollection

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

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

Дополнительные сведения см. в разделе "Добавление dataRelations".

XML

Набор данных можно заполнить из XML-потока или документа. Xml-поток или документ можно использовать для передачи в набор данных, сведения о схеме или оба. Сведения, предоставленные из XML-потока или документа, можно объединить с существующими данными или сведениями о схеме, которые уже присутствуют в наборе данных. Дополнительные сведения см. в статье Использование XML в наборах данных.

ExtendedProperties

Набор данных, DataTable и DataColumn имеют свойство ExtendedProperties. ExtendedProperties — это свойство PropertyCollection , в котором можно разместить пользовательские сведения, например инструкцию SELECT, которая использовалась для создания результирующий набор, или время создания данных. Коллекция ExtendedProperties сохраняется со сведениями о схеме для Набора данных.

LINQ to DataSet

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

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

См. также