您可以在具有實體關係的實體之間對應屬性。 這可讓您為在另一筆記錄的內容中建立的記錄設定預設值。 使用應用程式中的自訂工具來對映屬性。 請參閱 建立和編輯實體關係:對應實體欄位。
應用程式中的行為
Dynamics 365 Customer Engagement (on-premises) 中的對應可簡化當您建立與另一筆記錄相關聯的新記錄時的資料輸入。 當實體與另一個實體有實體關聯性時,您可以使用功能區中的 建立相關 索引標籤來建立新的相關實體記錄。 當您以這種方式建立新記錄時,主要實體記錄中的對應資料會複製到新相關實體記錄的表單中。 透過對映實體屬性,您可以在兩個實體之間的關係中新增對映,以控制要複製的資料。 如果您以主要實體相關聯檢視以外的任何方式建立記錄,則不會對應資料。
例如,您可能想要在帳戶中的地址欄位與連絡人中的地址欄位之間設定對應。 使用此對應時,當使用者新增與特定帳戶相關聯的聯絡人時,會自動填入聯絡人的地址欄位。
您可以將一個屬性對應至多個目標屬性。 例如,您可以將帳戶中的地址資訊對應至訂單中的帳單地址和送貨地址。
在建立新的相關記錄之前,會套用對應。 使用者可以在儲存記錄之前進行變更。 主要記錄中資料的後續變更不會套用至相關記錄。
使用實體和屬性對應資料
使用 Web API
使用 Web API 時,您可以使用 InitializeFrom 函式 ,在實體之間存在對應的現有記錄內容中建立新記錄。
從 InitializeFrom 要求收到的回應包含來源實體與目標實體之間的對應屬性值,以及父記錄的 GUID。 具有實體關係的實體之間的屬性對應對於不同的實體集不同,並且是可自訂的,因此 InitializeFrom 函數請求的回應可能會因不同的實體和組織而異。 當此回應在新記錄的建立要求內文中傳遞時,這些屬性值會抄寫到新記錄中。 在此過程中,自訂對應屬性的值也會在新記錄中設定。
備註
若要判斷是否可以對應兩個實體,請使用下列 Web API 要求:GET [Organization URI]/api/data/v9.1/entitymaps?$select=sourceentityname,targetentityname&$orderby=sourceentityname
如需詳細資訊,請參閱從另一個實體建立新實體。
使用組織服務
在實體之間存在對映的現有記錄內容中建立新記錄時,您可以使用 InitializeFromRequest 訊息來定義包含對映中指定值的新記錄。 然後 IOrganizationService,您可以使用 . Create 保存記錄的方法。 以這種方式,會套用您定義的任何對應。
建立實體關係時,會建立有效的實體對映。 使用 entity_map_attribute_maps 實體關係來擷取實體對映所指定之實體配對的屬性對映。
您可以建立或更新屬性對映記錄。 屬性對映必須符合下列需求:
- 類型必須 AttributeMetadata 相符。
- 目標欄位的長度不能短於來源欄位。
- 格式必須相符。
- 目標欄位不得用於其他對應。
- 來源欄位必須在實體表單上可見。
- 目標欄位必須是使用者可以輸入資料的欄位。
- 無法對應位址 ID 值。
- PartyList 屬性,其中 AttributeMetadata.AttributeType 是 AttributeTypeCode。無法對應 PartyList。
實體之間的自動對應屬性
您可以編輯實體之間的屬性對應,以取得支援對應的實體關係。
除了手動建立每一個屬性對應之外,您還可以使用 AutoMapEntity message(AutoMapEntity 動作 或 AutoMapEntityRequest 類別) 來產生一組新的屬性對應。 此訊息會執行工具列上「更多動作」功能表中「產生對應」功能表選項下的動作。 此訊息會對映屬性名稱和類型相同的兩個相關實體之間的所有屬性。 此訊息是作為生產力增強功能提供的,因此您不必手動新增所有屬性對應。 相反地,您可以產生一組可能的對應,並將新增或移除個別對應的手動工作量降到最低,以符合您的需求。
備註
以這種方式自動產生對應會移除任何先前定義的屬性對應,並可能包含您不想要的對應。
擷取實體和屬性對應
查看已建立對應的簡單方法是使用下列 FetchXML 查詢。 如需如何執行此查詢的詳細資訊,請參閱 使用 FetchXML 建構查詢。
<fetch version='1.0' mapping='logical' distinct='false'>
<entity name='entitymap'>
<attribute name='sourceentityname'/>
<attribute name='targetentityname'/>
<link-entity name='attributemap' alias='attributemap' to='entitymapid' from='entitymapid' link-type='inner'>
<attribute name='sourceattributename'/>
<attribute name='targetattributename'/>
</link-entity>
</entity>
</fetch>
另請參閱
擴充 Dynamics 365 Customer Engagement (on-premises) 的中繼資料模型
建立和編輯實體關係:對應實體欄位