建立資料集之間的關聯性- Visual Studio

文章推薦指數: 80 %
投票人數:10人

如需有關資料集資料表中更新的詳細資訊,請參閱將資料儲存回資料庫。

僅限條件約束關聯. 當您建立DataRelation 物件時,您可以選擇指定關聯只用來強制執行 ... 跳到主要內容 已不再支援此瀏覽器。

請升級至MicrosoftEdge,以利用最新功能、安全性更新和技術支援。

下載MicrosoftEdge 其他資訊 目錄 結束焦點模式 儲存 編輯 共用 Twitter LinkedIn Facebook 電子郵件 WeChat 目錄 建立資料集之間的關聯性 09/14/2021 g o O i 本文內容 包含相關資料表的資料集會使用DataRelation物件來代表資料表之間的父子式關聯性,並傳回彼此相關的記錄。

使用[資料來源設定]Wizard或DataSet設計工具,將相關的資料表加入資料集,DataRelation就會為您建立及設定物件。

DataRelation物件會執行兩個函式: 它可提供與您正在使用之記錄相關的記錄。

如果您是在父記錄(GetChildRows)和父記錄(如果您使用()的子記錄),則會提供子記錄GetParentRow。

它可以強制執行參考完整性的條件約束,例如刪除父記錄時,刪除相關的子記錄。

請務必瞭解真正的聯結和物件的功能之間的差異DataRelation。

在真正的聯結中,記錄取自父資料表和子資料工作表,並放入單一的一般記錄集內。

當您使用DataRelation物件時,不會建立新的記錄集。

相反地,DataRelation會追蹤資料表之間的關聯性,並讓父記錄和子記錄保持同步。

DataRelation物件和條件約束 DataRelation物件也用來建立和強制執行下列條件約束: 唯一的條件約束,可確保資料表中的資料行不包含重複專案。

Foreignkey條件約束,可用來維護資料集中父資料表和子資料工作表之間的參考完整性。

您在物件中指定的條件約束DataRelation是由自動建立適當的物件或設定屬性所執行。

如果您使用物件來建立外鍵條件約束DataRelation,則會將類別的實例ForeignKeyConstraint加入至DataRelation物件的ChildKeyConstraint屬性。

唯一的條件約束是藉由直接將Unique資料行的屬性設為true或,將類別的實例加入至UniqueConstraintDataRelation物件的ParentKeyConstraint屬性來執行。

如需在資料集中暫停條件約束的詳細資訊,請參閱在填滿資料集時關閉條件約束。

參考完整性規則 您可以在外鍵條件約束中指定套用於三個點的參考完整性規則: 當父記錄更新時 當父記錄刪除時 當已接受或拒絕變更時 您可以建立的規則會在列舉中指定Rule,而且會列在下表中。

Foreignkey條件約束規則 動作 Cascade 對父記錄進行的變更(更新或刪除)也是在子資料工作表的相關記錄中進行。

SetNull 子記錄不會被刪除,但子記錄中的外鍵會設定為DBNull。

使用此設定時,子記錄可以保留為「孤立」,也就是它們與父記錄沒有關聯性。

注意:使用此規則可能會導致子資料工作表中的資料無效。

SetDefault 相關子記錄中的外鍵會設定為其預設值(由資料行的DefaultValue屬性)所建立。

None 相關的子記錄不會進行任何變更。

使用此設定時,子記錄可包含無效父記錄的參考。

如需有關資料集資料表中更新的詳細資訊,請參閱將資料儲存回資料庫。

僅限條件約束關聯 當您建立DataRelation物件時,您可以選擇指定關聯只用來強制執行條件約束,也就是它也不會用來存取相關記錄。

您可以使用此選項來產生稍微提高效率的資料集,而且其中包含的方法比具有相關記錄功能的方法少。

不過,您將無法存取相關記錄。

例如,僅限條件約束關聯可防止您刪除仍有子記錄的父記錄,而且您無法透過父系存取子記錄。

在DataSet設計工具中手動建立資料關聯 當您使用VisualStudio中的資料設計工具建立資料表時,如果可從資料來源收集資訊,就會自動建立關聯性。

如果您從[工具箱]的[資料集]索引標籤手動加入資料表,您可能必須手動建立關聯性。

如需以程式設計方式建立物件的詳細資訊DataRelation,請參閱新增datarelation。

資料表之間的關聯性會顯示為DataSet設計工具中的行,並具有描述關聯性之一對多層面的索引鍵和無限大符號。

根據預設,關聯性的名稱不會出現在設計介面上。

注意 在本文的某些VisualStudio使用者介面項目中,您的電腦可能會顯示不同的名稱或位置。

您使用的可能是不同版本的VisualStudio或不同的環境設定。

如需詳細資訊,請參閱將IDE個人化。

若要建立兩個數據表之間的關聯性 在[DataSet設計工具]中開啟資料集。

如需詳細資訊,請參閱逐步解說:在DataSet設計工具中建立資料集。

將關係物件從[資料集工具箱]拖曳至關聯性中的子資料工作表。

[關聯]對話方塊隨即開啟,並以您拖曳關聯物件的資料表填入子資料工作表方塊。

從[父資料表]方塊中選取父資料表。

父資料表包含一對多關聯性的「一」端記錄。

確認[子資料工作表]方塊中是否顯示正確的子資料工作表。

子資料工作表包含一對多關聯性的「多」端記錄。

在[名稱]方塊中輸入關聯性的名稱,或保留預設名稱(以選取的資料表為基礎)。

這是程式碼中的實際DataRelation物件名稱。

在[索引鍵資料行]和[外鍵資料行]清單中選取聯結資料表的資料行。

選取是否要建立關聯性、條件約束或兩者。

選取或清除[嵌套關聯]方塊。

選取此選項會將Nested屬性設定為true,並在資料列寫入為XML資料或與同步處理時,使關聯的子資料列在父資料行中嵌套XmlDataDocument。

Formoreinformation,seeNestingDataRelations. 設定當您對這些資料表中的記錄進行變更時,要強制執行的規則。

如需詳細資訊,請參閱Rule。

按一下[確定]建立關聯性。

這兩個數據表的設計工具上會出現關聯線。

若要在DataSet設計工具中顯示關聯名稱 在[DataSet設計工具]中開啟資料集。

如需詳細資訊,請參閱逐步解說:在DataSet設計工具中建立資料集。

從[資料]功能表中,選取[顯示關聯性標籤]命令以顯示關聯名稱。

清除該命令以隱藏關聯名稱。

另請參閱 在VisualStudio中建立和設定資料集 此頁面有所助益嗎? Yes No 還有其他意見反應嗎? 系統會將意見反應傳送給Microsoft:按下[提交]按鈕,您的意見反應將用來改善Microsoft產品和服務。

隱私權原則。

跳過 送出 謝謝。

此頁面有所助益嗎? Yes No 還有其他意見反應嗎? 系統會將意見反應傳送給Microsoft:按下[提交]按鈕,您的意見反應將用來改善Microsoft產品和服務。

隱私權原則。

跳過 送出 謝謝。

本文內容



請為這篇文章評分?