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

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

Графическая схема ADO.Net ado_1_bpuedev11 Объектная модель DataSet

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

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

Коллекция таблиц данных

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

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

Класс DataView

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

Коллекция DataRelation

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

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

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

XML

Вы можете заполнить DataSet из XML-потока или документа. XML-поток или документ можно использовать для передачи в DataSet данных, информации о схеме или и того, и другого. Сведения, предоставленные из XML-потока или документа, можно объединить с существующими данными или сведениями о схеме, которые уже присутствуют в наборе данных. Дополнительные сведения см. в статье Об использовании XML в наборе данных.

РасширенныеСвойства

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

LINQ to DataSet

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

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

См. также