實體關聯行為
發行︰ 2017年1月
適用於: Dynamics 365 (online)、Dynamics 365 (on-premises)、Dynamics CRM 2016、Dynamics CRM Online
當一對多實體關聯存在時,會有可設定的串聯行為,以保留資料完整性和自動化商務流程。 本主題將說明一些重要概念,並描述如何設定這些的串聯行為。
在描述如何設定實體關聯行為之前,先思考它如何應用至您的業務會非常實用。 有三個重要概念:
保留資料完整性
自動化商物程序
串聯行為
本主題內容
保留資料完整性
自動化商物程序
串聯行為
設定實體關聯行為
保留資料完整性
每個實體可擁有定義有效記錄的規則。 例如,Microsoft Dynamics 365 商機記錄必須包含潛在客戶的參考。 使用者無法建立新商機記錄,如果未新增現有客戶或建立新客戶記錄的話。
但是,如果刪除了代表客戶的帳戶或連絡人,該怎麼辦? 在這種情況下,可能的替代方式為:
限制任何刪除有關聯商機的客戶記錄的嘗試。
當對應的客戶記錄刪除時,串聯刪除動作,這樣就會自動刪除所有相關的商機記錄。
在 Microsoft Dynamics 365 中針對將商機與客戶產生關聯的一對多關係,例如 Opportunity.opportunity_customer_accounts 和 Contact.opportunity_customer_contacts,此行為是串聯刪除動作。
當您建立要在 Microsoft Dynamics 365 中使用的資料時,也會決定要如何保留資料完整性。
自動化商物程序
商務程序可能需要您對擁有相關記錄的記錄執行動作。 例如,您可能需要將客戶指派給新的銷售人員。 如果該客戶記錄有任何商機記錄,有些選項如下:
不執行任何動作。 商機應該繼續由進行處理的個人擁有。
指派所有商機給新的銷售人員。 身為此客戶記錄的新負責人,銷售人員現在會負責所有與該客戶相關的商機。
僅指派現有商機給新的銷售人員。 保留任何非使用中商機記錄的負責人,做為報告用途。
僅將先前客戶負責人擁有的商機指派給新的銷售人員。 這會允許新的銷售人員取代先前的負責人。
這些選項是您可在 Microsoft Dynamics 365 中使用實體關聯行為設定的常用選項。 如果您需要不同的行為,請考慮購買包含您所需行為的解決方案,或開發外掛程式來提供額外的選項。
串聯行為
這些設定選項稱為串聯行為,因為它們會向下串聯整個相關實體的階層。 例如,如果刪除客戶會造成刪除相關商機,那麼與商機相關聯的活動呢? 在 Microsoft Dynamics 365 中,每個實體關聯中針對活動類型實體定義的行為會是一併刪除。
不過,並非所有實體都會這樣處理。 例如,訂單和發票包含重要的商務資料,因此不應該意外刪除。 它們的實體關聯行為會設定為限制與其相關聯的客戶或商機記錄。 您必須先刪除訂單或發票,才能刪除有相關訂單或發票記錄的客戶或商機。
在您透過自訂實體或使用現有 Microsoft Dynamics 365 系統實體建立商務資料時,請考量您需要的行為以及對整個相關實體階層的影響。
上層實體關聯
每一個有資格擁有 1:N 關聯的實體配對之間都可以擁有多個 1:N 關聯。 但是,只有其中一項關聯可視為「上層」(Parental) 實體關聯。 如需所有可自訂上層實體關聯的清單,請參閱 TechNet:可自訂的上層實體關聯。
上層實體關聯是指,在下表的上層欄中的其中一個串聯選項 (定義於 CascadeType) 為 true 的任何 1:N 實體關聯。
動作 |
上層 |
非上層 |
---|---|---|
Delete |
Cascade |
RemoveLink |
共用 |
Cascade |
NoCascade |
不共用 |
Cascade |
NoCascade |
指派 |
Cascade |
NoCascade |
重設上層 |
Cascade |
NoCascade |
1:N 實體關聯中,每個參考的實體都有一個其中的關聯可視為上層關聯的參考屬性。
例如,如果您建立新的自訂實體並新增 1:N 實體關聯,其中客戶實體中您的自訂實體是參考實體,您就可以為該實體關聯設定動作,以使用上層欄中的選項。 如果您稍後新增另一個他 1:N 實體關聯,其中您的自訂實體為參考實體,那麼您只能設定動作來使用非上層欄中的選項。
通常這表示每個實體配對只有一個上層關聯。 在某些情況下,參考上的參考屬性可能包含多個實體類型的參考。
例如,Opportunity 實體擁有稱為 customerid 的參考屬性,其中可能儲存連絡人或客戶記錄的參考。 此情況下會有兩個不同的上層 1:N 實體關聯。
任何活動實體 (例如工作、傳真、通話等) 都有一組類似的上層實體關聯用於實體,可以使用 regardingobjectid 參考屬性產生關聯。
設定實體關聯行為
當您使用 CreateOneToManyRequest 或 UpdateRelationshipRequest 時,您會在要求主體中包含 OneToManyRelationshipMetadata 類別的執行個體。 在該類別的 CascadeConfiguration 屬性中,使用 CascadeConfiguration 類別。
CascadeConfiguration 類別包含屬性,代表可在一對多實體關聯中對參考的實體執行的動作。 每個屬性都可以擁有指派的其中一個 CascadeType 列舉的值。
值 |
應用程式標籤 |
描述 |
---|---|---|
使用中 |
串聯使用中 |
在所有與參考的實體記錄相關聯的使用中參考實體記錄上執行動作。 |
串聯 |
串聯全部 |
在所有與參考的實體記錄相關聯的參考實體記錄上執行動作。 |
NoCascade |
不串聯 |
不執行任何動作。 |
RemoveLink |
移除連結 |
移除與參考的實體記錄相關聯的所有參考實體記錄的參考屬性值。 |
限制 |
限制 |
當參考實體存在時,避免參考的實體記錄遭到刪除。 |
UserOwned |
串聯使用者擁有的 |
對參考的實體記錄相同使用者所擁有的所有參考實體記錄執行動作。 |
CascadeConfiguration 類別包含下列屬性,代表可在一對多實體關聯中對參考的實體執行的動作。
動作 |
描述 |
有效的選項 |
---|---|---|
參考的實體記錄負責人已變更。 |
Active |
|
參考的實體記錄已刪除。 注意 此動作的選項有所限制。 |
Cascade |
|
此記錄已與另一筆記錄合併。 注意 對於可以合併的參考實體,串聯是唯一有效的選項。 在其他情況下,請使用 NoCascade。 |
Cascade |
|
請參閱下面的 關於上層動作。 |
Active |
|
當參考的實體記錄與另一位使用者共用時。 |
Active |
|
當參考的實體記錄共用移除時。 |
Active |
關於上層動作
重設上層動作類似共用動作,差別在於它會處理繼承的讀取存取權限,而不是明確讀取存取權限。
注意
如需繼承的存取權限的詳細資訊,請參閱記錄型安全性如何用於控制 Microsoft Dynamics 365 記錄的存取,特別是共用和繼承一節。
重設上層動作是在您變更上層關聯中參考屬性的值時執行。 發生重設上層動作時,對於相關實體所需的繼承讀取存取權限範圍可能會變更。 與重設上層相關的串聯動作是指,變更對實體記錄與任何與其相關的實體記錄的讀取存取權限。 如需如何將實體關聯設定為上層的詳細資訊,請參閱上層實體關聯。
例如,商機和客戶之間會有依據 CustomerId 參考屬性的上層關聯。 如果您是客戶負責人,而且該客戶有相關聯的商機,則您會繼承該商機以及任何與其相關聯之記錄的讀取存取權限。 如果商機的 CustomerId 參考屬性值變更為參考不同的客戶,則該客戶的負責人會繼承該商機的讀取存取權限 (如果重設上層動做為「串聯」)。 如果您將重設上層動作設為 NoCascade,就可以停用這個自動繼承讀取存取權限的動作。 您可以使用 Active 或 UserOwned 選項指定篩選,篩選出存取權限變更時會影響的記錄。 對於任何透過上層關聯與商機相關的記錄,重設上層動作會向下串聯這些實體關聯,並且依據重設上層動作的篩選設定繼承讀取存取權限。
另請參閱
一對多關聯
搭配使用組織服務與 Dynamics 365 中繼資料
自訂實體中繼資料
自訂實體屬性中繼資料
自訂實體關聯中繼資料
自訂實體和屬性對應
自訂索引標籤支援多種語言
記錄型安全性如何用於控制 Microsoft Dynamics 365 記錄的存取
範例:建立並擷取實體關聯
Microsoft Dynamics 365
© 2017 Microsoft. 著作權所有,並保留一切權利。 著作權