DataSet组件
https://docs.microsoft.com/zh-cn/dotnet/api/system.data.dataset?view=netframework-4.8
命名空间:System.Data
程序集:System.Data.dll
表示数据在内存中的缓存。
在ADO.NET中,DataSet对象主要支持断开连接的数据和分布式数据。DataSet是一个内存驻
留的数据表示方式,它提供一个与数据源无关的一致性关系编程模型。DataSet表示一个完整的数据
集,该数据集包含相关的表、约束以及表之间的关系,就像一个驻留在内存中的小型关系数据库6
因为DataSet把大量的元数据存放在内存中,所以在使用它之前必须清楚需要给它填充多少数据。
DataSet中的方法和对象与关系数据库模型中的对象和方法是一致的。DataSet也可以用XML
格式保存和重新加载它的内容,并把其模式保存为XSD。 DataSet与数据库连接是完全断开的,使
用内存中的什么数据对它进行填充完全取决于用户。
ADO.NET 2.0及其以后版本改进了DataSet和DataTable类的原有功能,并添加了新的功能:
- 二进制序列化格式选项。
- 使DataTable对象更独立的功能。
- 允许把DataSet和DataTable数据包装为流(DataReader),并可以把流数据加载到DataSet或者DataTable中。
DataSetTableCollection
ADO.NET DataSet包含一个集合,该集合中可以没有表,也可以有DataTable对象表示的多个表。DataTableCollection包含DataSet中所有的DataTable对象。
DataTable在System-Data名称空间中定义,它代表—个由内存驻留数据组成的表qDataTable包含一个由DataColumnCollection表示的列集合,DataColumnCollection定义了表的模式和行;DataTable还包含—个由DataRowCollection所表示的行集合,DataRowCollelction包含了表中的数据。除了当前的状态外,DataRow还保留了其原始状态,以跟踪数据所发生的改变。
DataSetRelationCollection
DataSet在DataRelationCollection对象中存储其关系。关系(由DataRelation对象表示)将一个DataTable中的行和另一个DataTable中的行关联起来。DataSet中的关系可以包含由UniqueConstraint和ForeignKeyConstraint对象表示的约束,这与关系数据库中主键列和外键列间的JOIN路径类似。DataRelation用于标识DataSet的两个表中相匹配的列。