数据集 (ADO.NET)

来源:互联网 发布:sql 统计总和 编辑:程序博客网 时间:2024/06/05 02:14
数据集 (ADO.NET)

DataSet 对象对于支持 ADO.NET 中的断开连接的分布式数据方案起到至关重要的作用。 DataSet 是数据驻留在内存中的表示形式,不管数据源是什么,它都可提供一致的关系编程模型。它可以用于多种不同的数据源,用于 XML 数据,或用于管理应用程序本地的数据。 DataSet 表示包括相关表、约束和表间关系在内的整个数据集。 下图将显示 DataSet 对象模型。

DataSet 对象模型
ADO.Net 图

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

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

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

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

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

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

DataSetDataTableDataColumn 全部具有 ExtendedProperties 属性。 ExtendedProperties 是一个 PropertyCollection,可以在其中加入自定义信息,例如用于生成结果集的 SELECT 语句或生成数据的时间。 ExtendedProperties 集合与 DataSet 的架构信息一起持久化。

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

有关更多信息,请参见 LINQ to DataSet

原创粉丝点击