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

DataSet Объект является центральным для поддержки отключенных сценариев распределенных данных с помощью ADO.NET.The DataSet object is central to supporting disconnected, distributed data scenarios with ADO.NET. Набор данных — это представление данных в памяти, предоставляющее единообразную реляционную модель программирования независимо от источника данных.The DataSet is a memory-resident representation of data that provides a consistent relational programming model regardless of the data source. Он может использоваться с несколькими различными источниками данных, XML-данными или для управления данными, локальными по отношению к приложению.It can be used with multiple and differing data sources, with XML data, or to manage data local to the application. Набор данных представляет собой полный набор данных, включая связанные таблицы, ограничения и связи между таблицами.The DataSet represents a complete set of data, including related tables, constraints, and relationships among the tables. На следующем рисунке показана объектная модель набора данных .The following illustration shows the DataSet object model.

ADO.NET графикADO.Net graphic
Объектная модель DataSetDataSet Object Model

Методы и объекты в наборе данных соответствуют параметрам в модели реляционной базы данных.The methods and objects in a DataSet are consistent with those in the relational database model.

Набор данных также может сохранять и перезагружать его содержимое в формате XML, а его схему — в виде схемы языка определения схемы XML (XSD).The DataSet can also persist and reload its contents as XML, and its schema as XML schema definition language (XSD) schema. Дополнительные сведения см. в статье Использование XML в наборах данных.For more information, see Using XML in a DataSet.

Класс DataTableCollectionThe DataTableCollection

Набор данных ADO.NET содержит коллекцию из нуля или более таблиц, DataTable представленных объектами.An ADO.NET DataSet contains a collection of zero or more tables represented by DataTable objects. Объект DataTableCollection содержит все объекты DataTable в наборе данных.The DataTableCollection contains all the DataTable objects in a DataSet.

Объект DataTable определен в System.Data пространстве имен и представляет отдельную таблицу резидентных данных.A DataTable is defined in the System.Data namespace and represents a single table of memory-resident data. Он содержит коллекцию столбцов, представленных объектом DataColumnCollection, и ограничений, представленных объектом ConstraintCollection, которые вместе определяют схему таблицы.It contains a collection of columns represented by a DataColumnCollection, and constraints represented by a ConstraintCollection, which together define the schema of the table. Объект DataTable также содержит коллекцию строк DataRowCollection, представленных объектом, который содержит данные в таблице.A DataTable also contains a collection of rows represented by the DataRowCollection, which contains the data in the table. Вместе со своим текущим состоянием объект DataRow сохраняет обе свои версии (текущую и исходную), чтобы определить изменения значений, хранимых в строке.Along with its current state, a DataRow retains both its current and original versions to identify changes to the values stored in the row.

Класс DataViewThe DataView Class

DataView позволяет создавать различные представления данных, которые хранятся в DataTable. Эта возможность часто используется в приложениях связывания данных.A DataView enables you to create different views of the data stored in a DataTable, a capability that is often used in data-binding applications. С помощью объекта DataView можно представлять данные в таблице с различными порядками сортировки, а также фильтровать данные по состоянию строки или на основе критерия фильтра.Using a DataView, you can expose the data in a table with different sort orders, and you can filter the data by row state or based on a filter expression. Дополнительные сведения см. в разделе " представленияданных".For more information, see DataViews.

Класс DataRelationCollectionThe DataRelationCollection

Набор данных содержит связи в своем DataRelationCollection объекте.A DataSet contains relationships in its DataRelationCollection object. Связь, представленная DataRelation объектом, связывает строки в одном объекте DataTable со строками в другом объекте DataTable.A relationship, represented by the DataRelation object, associates rows in one DataTable with rows in another DataTable. Связь аналогична пути соединения, который может существовать между столбцами первичного и внешнего ключей реляционной базы данных.A relationship is analogous to a join path that might exist between primary and foreign key columns in a relational database. Объект DataRelation определяет совпадающие столбцы в двух таблицах набора данных.A DataRelation identifies matching columns in two tables of a DataSet.

Связи позволяют переходить от одной таблицы к другой в наборе данных.Relationships enable navigation from one table to another in a DataSet. Важными элементами DataRelation являются имя связи, имена связанных таблиц, а также связанные столбцы в каждой таблице.The essential elements of a DataRelation are the name of the relationship, the name of the tables being related, and the related columns in each table. Связи могут быть построены с более чем одним столбцом для каждой таблицы путем указания массива объектов DataColumn в качестве ключевых столбцов.Relationships can be built with more than one column per table by specifying an array of DataColumn objects as the key columns. При добавлении связи в DataRelationCollectionможно дополнительно добавить уникуекэйконстраинт и ForeignKeyConstraint , чтобы применить ограничения целостности при внесении изменений в связанные значения столбцов.When you add a relationship to the DataRelationCollection, you can optionally add a UniqueKeyConstraint and a ForeignKeyConstraint to enforce integrity constraints when changes are made to related column values.

Дополнительные сведения см. в разделе Добавление связейданных.For more information, see Adding DataRelations.

XMLXML

Набор данных можно заполнить из XML-потока или документа.You can fill a DataSet from an XML stream or document. Можно использовать XML-поток или документ для передачи в набор данных , сведения о схеме или и то, и другое.You can use the XML stream or document to supply to the DataSet either data, schema information, or both. Сведения, передаваемые из XML-потока или документа, можно объединять с существующими данными или сведениями о схеме, уже присутствующими в наборе данных.The information supplied from the XML stream or document can be combined with existing data or schema information already present in the DataSet. Дополнительные сведения см. в статье Использование XML в наборах данных.For more information, see Using XML in a DataSet.

ExtendedPropertiesExtendedProperties

Все наборы данных, DataTableи DataColumn имеют свойство расширенных свойств .The DataSet, DataTable, and DataColumn all have an ExtendedProperties property. Расширенных свойств — это PropertyCollection , где можно разместить пользовательские данные, например инструкцию SELECT, которая использовалась для создания результирующего набора, или время создания данных.ExtendedProperties is a PropertyCollection where you can place custom information, such as the SELECT statement that was used to generate the result set, or the time when the data was generated. Коллекция расширенных свойств сохраняется со сведениями о схеме для набора данных.The ExtendedProperties collection is persisted with the schema information for the DataSet.

LINQ to DataSetLINQ to DataSet

LINQ to DataSet предоставляет возможности интегрированных запросов для отключенных данных, хранящихся в наборе данных.LINQ to DataSet provides language-integrated querying capabilities for disconnected data stored in a DataSet. LINQ to DataSet использует стандартный LINQLINQ синтаксис и обеспечивает проверку синтаксиса во время компиляции, статическую типизацию и поддержку IntelliSense при использовании интегрированной среды разработки Visual Studio.LINQ to DataSet uses standard LINQLINQ syntax and provides compile-time syntax checking, static typing, and IntelliSense support when you are using the Visual Studio IDE.

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

См. такжеSee also