Share via


TableAdapterManager 概觀

更新:2007 年 11 月

TableAdapterManager 是 Visual Studio 2008 中的新元件,是以現有的資料功能為基礎 (具型別資料集和 TableAdapter),並提供功能將資料儲存在關聯資料表中。TableAdapterManager 會使用外部索引鍵關聯性 (用於建立資料表間的關聯性),判斷從資料集傳送「插入」、「更新」及「刪除」至資料庫的正確順序,而不會違反資料庫的外部索引鍵條件約束 (參考完整性)。

「外部索引鍵條件約束」 (Foreign-key Constraint) 是資料庫中的一致性規則,負責控制「插入」、「更新」和「刪除」關聯資料錄的行為。當關聯的子資料錄仍存在另一個資料表時,外部索引鍵條件約束不會允許刪除父資料錄。

使用 TableAdapterManager 將資料儲存在關聯資料表的整個程序,稱為階層式更新

儲存關聯資料表中修改過的資料,比儲存單一資料表中的資料更為複雜。這是因為對每一個關聯資料表執行 [插入]、[更新] 和 [刪除] 命令時,必須按照特定順序執行,以避免違反資料庫中所定義的外部索引鍵條件約束。例如,若使用的是管理新舊客戶與訂單的訂單輸入應用程式。如果您必須刪除一筆舊客戶資料錄,必須先刪除該客戶的所有訂單資料錄。因為資料表存在外部索引鍵條件約束,所以,如果您要加入新客戶資料錄 (該客戶有訂單),必須先插入新客戶資料錄才能插入該客戶的訂單。如這些範例所示,您必須擷取資料的特定子集,然後按照正確的順序傳送更新 (插入、更新和刪除),以維持參考完整性,以及避免與資料庫中的外部索引鍵條件約束發生衝突。

建立 TableAdapterManager

根據預設,當您在專案中建立具型別資料集時,會產生 TableAdapterManager 類別。更精確的說,是由資料集的 Hierarchical Update 屬性中的值,判斷是否建立 TableAdapterManager。如果 Hierarchical Update 設定為 True,就會建立 TableAdapterManager,如果 Hierarchical Update 設定為 False,就會建立一個不含 TableAdapterManager 的資料集。如需詳細資訊,請參閱 HOW TO:啟用和停用階層式更新

注意事項:

根據預設,加入以舊版 Visual Studio 所建立專案中的資料集,其 Hierarchical Update 屬性設定為 False。這表示停用階層式更新,且未建立 TableAdapterManager。如需將 TableAdapterManager 加入至現有資料集的詳細資訊,請參閱 HOW TO:在現有的 Visual Studio 專案中實作階層式更新

TableAdapterManager 參考

TableAdapterManager 類別並不屬於 .NET Framework 的一部分。因此您在文件中無法查詢。這是在設計階段時建立的,是資料集建立程序的一部分。

以下是 TableAdapterManager 類別的常用方法和屬性:

成員

描述

UpdateAll 方法

儲存所有資料表中所有的資料。

BackUpDataSetBeforeUpdate 屬性

布林值 (Boolean)判斷在執行 TableAdapterManager.UpdateAll 方法前,是否要建立資料集的備份複本。

tableNameTableAdapter 屬性

代表 TableAdapter。產生的 TableAdapterManager 對其所管理的每一個 TableAdapter 都包含一個屬性。例如,與具有 Customers 和 Orders 資料表的資料集一起產生的TableAdapterManager 便含有 CustomersTableAdapter 和 OrdersTableAdapter 屬性。

UpdateOrder 屬性

控制個別 [插入]、[更新] 和 [刪除] 命令的執行順序。將這個設定為 TableAdapterManager.UpdateOrderOption 列舉型別中的其中一個值。

根據預設,UpdateOrder 設定為 InsertUpdateDelete。也就是說,對資料集中所有資料表執行 [插入],然後再對資料集中所有資料表執行 [更新],然後再對資料集中所有資料表執行 [刪除]。如需詳細資訊,請參閱 HOW TO:設定執行階層式更新時的順序

請參閱

工作

逐步解說:儲存關聯資料表的資料 (階層式更新)

逐步解說:建立簡單資料應用程式

概念

TableAdapter 概觀

其他資源

階層式更新

儲存資料