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

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

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

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

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

Класс DataTableCollection

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

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

Класс DataView

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

Класс DataRelationCollection

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

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

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

XML

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

ExtendedProperties

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

LINQ to DataSet

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

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

См. также раздел