数据集 (ADO.NET)

news/2025/2/26 7:22:21
数据集 (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


http://www.niftyadmin.cn/n/3682134.html

相关文章

【JVM】之运行时数据区 Runtime Data Areas

Runtime Data Areas 官方文档:https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-2.html#jvms-2.5 概述 官方解释 The Java Virtual Machine defines various run-time data areas that are used during execution of a program. Some of these data areas…

yperLink控件、LinkButton控件 之间的异同

yperLink控件、LinkButton控件 之间的异同 对于Web访问者而言, HyperLink、LinkButton控件是一样的, 但它们在功能方面仍然有较大的差异。 当用户点击控件时: HyperLink控件 会立即将用户“导航”到目标URL,表件不会回送到服务器上…

使用sharding-jdbc实现水平分库分表和读写分离

使用 Sharding-Jdbc 实现 读写分离和水平分表 服务器准备 我们克隆四台虚拟机 【 可参考克隆虚拟机】。ip地址分别为: 192.168.17.123192.168.17.124192.168.17.125192.168.17.126 在四台机器上分别按照好mysql。【可以现在一台服务器上按照好,然后克隆…

ImageButton控件

扩展ImageButton控件定制自己需要的功能 虽然现在网上可以找到n多第三方控件,可我总是看那些单独的dll不爽,在微软提供的标准控件无法满足实际需求时,大多采取扩展标准控件定制个性功能的方法解决,本文描述了给ImageButton控件增加…

综合案例SpringBoot+shiro+Quartz+RabbitMq+Redis实现自动化订单管理系统+部署和源码

前端LayUI ECharts 后端:SpringBoot,MyBatisPlus,Mysql,Redis,Shiro,Quartz,Swagger2, RabbitMQ 技术:SpringBoot整合上述插件实现权限管理,定时任务,Myba…

Linkbutton控件

Linkbutton控件在项目中的简单应用我们知道,在web控件中有一组用于表单提交和回传的控件,即Button控件。这类控件用于将带有用户输入值的页面提交给服务器,以便用页面中的代码对这些值进行处理。它会在服务器上产生一个Click事件,…

博客导航 -- Spring+SpringMVC+Mybatis+SpringCloud

文章目录SpringCloudAlibabaSpring SpringMVC 教程Mybatis 教程最后注意:可以提供PDF原稿SpringCloudAlibaba Windows安装单机版NacosDocker安装单机版NacosLinux安装单机版NacosNacos服务注册和发现Ribbon和RestTemplate负载均衡Feign服务调用No Feign Client fo…

TextBox组件

TextBox组件(文本框组件)是一种常用的,也是比较容易掌握的组件。应用程序主要使用它来接收使用者于输入文字信息。在前面内容中已经或多或少的接触到TextBox组件。本节就来详细探讨一下Visual Basic .Net中TextBox组件的使用方法。    一.T…