TableAdapterManager 概述

TableAdapterManager 是一个组件,它提供了将数据保存在相关数据表中的功能。TableAdapterManager 使用将数据表关联起来的外键关系来确定将 Insert、Update 和 Delete 从数据集发送到数据库的正确顺序,而不违反数据库中的外键约束(引用完整性)。

“外键约束”是数据库中的一致性规则,用于控制与 Insert、Update 和 Delete 相关的记录的行为。外键约束能够防止当其他表中仍然存在相关子记录时父记录被删除。

使用 TableAdapterManager 在相关数据表中保存数据的整个过程称为分层更新

保存相关数据表中修改过的数据比保存单个表中的数据要复杂。这是因为必须以特定的顺序执行每个相关表的 Insert、Update 和 Delete 命令,以避免违反数据库中定义的外键约束。例如,假设有一个订单录入应用程序,您可以使用该程序管理新的和现有的客户和订单。如果您需要删除一条现有客户记录,必须首先删除该客户的所有订单。如果要添加新的客户记录(带订单),必须首先插入新的客户记录,然后再插入该客户的订单,这是表中外键约束的要求。正如这些示例所示,您需要提取数据的特定子集,并以正确的顺序发送更新(Insert、Update 和 Delete)以维护引用完整性,避免违反数据库中的外键约束。

创建 TableAdapterManager

默认情况下,当您在项目中创建类型化数据集时将生成一个 TableAdapterManager 类。更具体地说,正是数据集的 Hierarchical Update 属性中的值确定了是否创建 TableAdapterManager。如果 Hierarchical Update 设置为**“True”,则创建 TableAdapterManager;如果 Hierarchical Update 设置为“False”**,则创建不包含 TableAdapterManager 的数据集。有关更多信息,请参见如何:启用和禁用分层更新

说明说明

默认情况下,对于在 Visual Studio 的早期版本中创建的项目,添加到其中的数据集的 Hierarchical Update 属性设置为“False”。这意味着,禁用分层更新,并且不创建 TableAdapterManager。有关向现有数据集添加 TableAdapterManager 的信息,请参见如何:在现有 Visual Studio 项目中实现分层更新

TableAdapterManager 参考

TableAdapterManager 类不属于 .NET Framework。因此,您不能在文档中查找它。它是在设计时作为数据集创建过程的一部分创建的。

下面是 TableAdapterManager 类的常用方法和属性:

成员

说明

UpdateAll 方法

保存所有数据表中的所有数据。

BackUpDataSetBeforeUpdate 属性

布尔型。确定在执行 TableAdapterManager.UpdateAll 方法之前,是否创建该数据集的备份副本。

tableNameTableAdapter 属性

表示一个 TableAdapter。生成的 TableAdapterManager 对它所管理的每个 TableAdapter 包含一个属性。例如,生成包含 Customers and Orders 表的数据集时还生成一个 TableAdapterManager,它包含 CustomersTableAdapter 和 OrdersTableAdapter 属性。

UpdateOrder 属性

控制各个 Insert、Update 和 Delete 命令的执行顺序。此属性应设置为 TableAdapterManager.UpdateOrderOption 枚举中的一个值。

默认情况下,UpdateOrder 设置为“InsertUpdateDelete”。这意味着,对数据集中的所有表依次执行 Insert 、Update 和 Delete。有关更多信息,请参见如何:设置分层更新的执行顺序

请参见

任务

演练:保存相关数据表中的数据(分层更新)

演练:创建简单的数据应用程序

概念

TableAdapter 概述

保存数据

其他资源

分层更新