ADO.NET 数据集

DataSet 对象是支持使用 ADO.NET 的断开连接分布式数据方案的核心。 DataSet 是数据的内存驻留表示形式,提供一致的关系编程模型,而不考虑数据源。 它可以与多个和不同的数据源一起使用,以及 XML 数据,或管理应用程序本地的数据。 数据集表示一组完整的数据,包括表之间的相关表、约束和关系。 下图显示了 DataSet 对象模型。

ADO.Net 图形
数据集对象模型

DataSet 中的方法和对象与关系数据库模型中的方法和对象一致。

DataSet 还可以按 XML 的形式来保持和重新加载其内容,并按 XML 架构定义语言 (XSD) 架构的形式来保持和重新加载其架构。 有关详细信息,请参阅 在数据集中使用 XML

DataTableCollection

ADO.NET 数据集 包含由对象表示 DataTable 的零个或多个表的集合。 DataTableCollection 包含 数据集 中的所有 DataTable 对象。

DataTableSystem.Data命名空间中定义,表示一个内存驻留的数据表。 它包含一个由列 DataColumnCollection表示的集合,以及由一 ConstraintCollection个约束表示的约束,它们共同定义表的架构。 DataTable 还包含一个由行组成的集合DataRowCollection,这些行代表表中的数据。 除了当前状态之外,一个 DataRow 保留其当前版本和原始版本,以标识对行中存储的值所做的更改。

DataView 类

使用 A DataView ,可以创建存储在数据 DataTable中的不同视图,该功能通常用于数据绑定应用程序中。 使用 a DataView,可以使用不同的排序顺序公开表中的数据,并且可以按行状态或基于筛选器表达式筛选数据。 有关详细信息,请参阅 DataViews

数据关系集合

DataSet 在其对象中包含DataRelationCollection关系。 由对象表示 DataRelation 的关系将一个 DataTable 中的行与另一 个 DataTable 中的行相关联。 关系类似于关系数据库中主键列和外键列之间可能存在的联接路径。 DataRelation 标识 DataSet 的两个表中的匹配列。

通过关系,可以从一个表导航到 数据集中的另一个表。 DataRelation 的基本元素是关系的名称、相关表的名称以及每个表中的相关列。 通过将对象数组 DataColumn 指定为键列,可以为每个表生成包含多个列的关系。 添加关系 DataRelationCollection时,可以选择添加 UniqueKeyConstraintForeignKeyConstraint ,以在对相关列值进行更改时强制实施完整性约束。

有关详细信息,请参阅 添加数据关系

XML

可以从 XML 流或文档填充 数据集 。 可以使用 XML 流或文档向 数据集 提供数据、架构信息或两者。 从 XML 流或文档提供的信息可以与 数据集中已存在的现有数据或架构信息组合在一起。 有关详细信息,请参阅 在数据集中使用 XML

扩展属性

DataSetDataTableDataColumn 都具有 ExtendedProperties 属性。 ExtendedProperties 是一个 PropertyCollection ,可在其中放置自定义信息,例如用于生成结果集的 SELECT 语句,或生成数据的时间。 ExtendedProperties 集合随数据集的架构信息一起保留。

LINQ to DataSet

LINQ to DataSet 为 DataSet 中存储的断开连接的数据提供语言集成的查询功能。 LINQ to DataSet 使用标准 LINQ 语法,并在使用 Visual Studio IDE 时提供编译时语法检查、静态键入和 IntelliSense 支持。

有关详细信息,请参阅 LINQ to DataSet

另请参阅