Microsoft Dynamics CRM 2015 中實體的簡介
發佈日期: 2016年11月
適用對象: Dynamics CRM 2015
「實體」(Entity) 用來模型化及管理 Microsoft Dynamics 365 中的商務資料。 例如,像是客戶、行銷活動和事件 (案例) 等實體可用來追蹤和支援銷售、行銷和服務活動。 實體有一組「屬性」(Attribute),且每個屬性代表特定類型的資料項目。 例如,客戶實體有 Name、Address 和 OwnerId 屬性。 在概念上,實體如同資料庫表格,而實體屬性對應至表格欄。 在 Microsoft Dynamics 365 中建立實體記錄 (簡單稱為記錄) 就如同在資料庫表格中新增資料列。 實體分成三個類別:系統、業務及自訂。 身為處理業務資料的開發人員,您將使用業務與自訂實體。 系統實體是由 Microsoft Dynamics 365 用來處理所有內部程序,例如工作流程與非同步工作。 您無法刪除或自訂任何系統實體。
商務實體是 Microsoft Dynamics 365 預設安裝的一部分,會顯示在自訂使用者介面中。 客戶、連絡人和信件為商務實體的範例。 安裝之後,您可以新增自訂實體至 Microsoft Dynamics 365,以因應組織的特定業務需求。 在 Microsoft Dynamics 365「解決方案」(Solution) 中,您可以設定商務與自訂實體及屬性成為自訂或不可自訂。 您可以藉由將其重新命名、新增屬性或變更不同的設定來修改自訂實體,例如重複資料偵測或佇列支援設定。 您無法修改不可自訂的實體。 如需有關自訂、受管理和未受管理解決方案,以及受管理屬性的詳細資訊,請參閱使用解決方案,封裝與發佈擴充功能。
如果您使用早期繫結程式設計模型,則實體是以類別表示,例如代表客戶實體的 Account 類別。 實體屬性是以類別屬性表示。 此類別是由 CrmSvcUtil 工具產生。 如需詳細資訊,請參閱在程式碼中使用早期繫結實體類別。 或者,您可以使用動態方式撰寫處理實體資料的程式。 如需詳細資訊,請參閱在程式碼中使用晚期繫結實體類別。
備註
在 Microsoft Dynamics CRM SDK 文件中,「實體屬性」(Entity Attribute) 這個詞會與「屬性」(Attribute) 和「屬性」(Property) (類別屬性) 交替使用。
本主題內容
實體中繼資料
實體記錄上的動作
實體擁有權
記錄狀態
實體影像
實體中繼資料
Microsoft Dynamics 365 組織的中繼資料包含實體、屬性以及實體之間關聯的定義。 如需詳細資訊,請參閱Microsoft Dynamics CRM 2015 的中繼資料和資料模型。 身為開發人員,能夠找到組織的所有中繼資料在許多情況下會很實用。 您可以利用許多方式尋找和參考中繼資料:
您可以使用實體中繼資料的瀏覽器檢視實體和 Microsoft Dynamics 365 的屬性。 如需詳細資料,請參閱瀏覽組織的中繼資料。
SDK 套件包含相同的資訊在 Microsoft Office Excel 試算表內。 您可以在 SDK\Tools\EntityMetadata.xlsx 檔案中找到這項資訊。
您可以使用這些範例為您的組織產生中繼資料:
您可以在實體之間建立下列類型的關聯:一對多、多對一和多對多。 多對多關聯的記錄儲存在交集實體中。 定義關聯之後,可使用 AssociateRequest 訊息或 Associate 方法建立所指定記錄之間的連結,以及使用 DisassociateRequest 訊息或 Disassociate 方法移除所指定記錄之間的連結。
在一對多和多對一關聯中,上層實體記錄的某些動作會影響下層實體記錄。 擁有串聯行為的動作包括:指派、刪除、合併、共用、取消共用和重設上層。 如需詳細資訊,請參閱實體關聯行為。
用於實體中繼資料的名稱
實體、屬性以及關聯有數個不同的名稱。 下表列出中繼資料中使用的各種不同名稱。
名稱 |
描述 |
---|---|
顯示名稱 |
對使用者顯示的名稱。 |
顯示集合名稱 |
顯示名稱的複數版本。 這僅適用於實體。 |
邏輯名稱 |
實體或屬性的唯一名稱。 此名稱全部採用小寫。 |
結構描述名稱 |
結構描述名稱會在建立時指定。 它必須是唯一的。 它用來建立邏輯名稱。 此名稱必須採用駝峰式大小寫。 結構描述名稱用來建立實體的類別,當使用早期繫結程式設計時。 |
備註
針對解決方案內容中建立的自訂實體、屬性及關聯,邏輯和結構描述名稱中的自訂首碼是在 Publisher.CustomizationPrefix 屬性中定義。 針對以程式設計方式建立的實體,將自訂首碼設定為長度介於兩個到八個字元之間的字串,全部都是英數字元,且以字母開始。 它不能以「mscrm」開頭。 如需實體中繼資料自訂和命名慣例的詳細資訊,請參閱自訂實體中繼資料。
實體記錄上的動作
每個實體支援數個不同的動作,例如建立或刪除記錄,或是指派記錄給其他使用者或團隊。 並非所有動作都可在所有實體類型或屬性上執行。 對於每個屬性,中繼資料會定義是否支援某一特定動作。 例如,屬性 (Attribute) 的屬性 (Property) (例如 IsValidForCreate、IsValidForRead 和 IsValidForUpdate) 會告訴您是否可以建立、擷取或更新屬性 (Attribute)。其他資訊:屬性的有效作業。
若要執行動作,則在 IOrganizationService 中呼叫其中一個方法。 例如,若要在 Microsoft Dynamics 365 中建立記錄,您可以使用 IOrganizationService.Create 方式或 IOrganizationService.Execute 方法搭配對應的 CreateRequest 訊息。 您必須具備必要的權限和存取權限才能執行這些動作。 如需詳細資訊,請參閱Microsoft Dynamics CRM 2015 的安全性模型。
下表列出商務和自訂實體記錄上允許的動作,以及您可用來執行這些動作的方法和訊息。
動作 |
描述 |
方法和/或訊息 |
---|---|---|
建立 |
建立特定實體類型的記錄,包括自訂實體。 |
|
更新 |
修改記錄內容。 |
|
刪除 |
刪除記錄。 |
|
擷取 |
擷取記錄。 |
|
擷取多項 |
擷取記錄的集合。 |
|
指派 |
變更記錄的擁有權。 適用於使用者擁有或團隊擁有的實體。 |
|
共用 |
授與、修改或撤銷其他使用者或團隊對記錄的存取權限。 適用於使用者擁有或團隊擁有的實體。 |
|
Associate |
建立記錄與記錄集合之間的連結 (實體之間存在關聯)。 |
|
Disassociate |
移除記錄與記錄集合之間的連結 (實體之間存在關聯)。 |
|
設定狀態 |
設定記錄的狀態。 |
建立
若要執行此動作,呼叫端必須擁有 Create message privileges。 存取權限不適用於 Create 動作,但是在記錄建立之後確實可套用。
若要擁有記錄或擷取新建的記錄,使用者或團隊也必須擁有新記錄的讀取權限和存取權限。 例如,如果您對客戶擁有建立權限,則可以建立客戶記錄並指派給其他使用者或團隊。 不過,除非您也有客戶讀取權限,以及新記錄的存取權限,否則無法建立客戶和成為新客戶的負責人。
更新
若要執行此動作,呼叫端必須擁有 Update message privileges以及要更新的實體記錄的存取權限。
當您更新記錄時,只會更新您指定資料或指定 null 的屬性。 所有其他值都會保持不變。 此外,如果您指定資料的屬性不適用更新,則會忽略。
刪除
若要執行此動作,呼叫端必須擁有 Delete message privileges以及要刪除的實體記錄的存取權限。
串聯規則會決定相關記錄是否同時刪除。 如需詳細資訊,請參閱實體關聯行為。
通常您只應刪除輸入錯誤的記錄。 對於某些記錄類型,您可以停用或關閉該記錄,而不將它刪除。 並非所有記錄類型都可以刪除。
擷取
若要執行此動作,呼叫端必須擁有 Retrieve message privileges以及要擷取的實體記錄的存取權限。
擷取多項
若要執行此動作,呼叫端必須擁有 Retrieve message privileges以及要擷取的實體記錄的存取權限。
若要根據查詢參數擷取記錄集合,可以使用查詢運算式或 FetchXML 查詢語言。 查詢運算式可讓您使用類別階層建置查詢樹狀結構。 使用查詢運算式的方法會傳回強類型的記錄集合。 FetchXML 可讓您使用 XML 語言建置查詢。 FetchXML 傳回 XML 字串。 因此,您必須執行更多資料操作才能使用查詢結果。 如需詳細資訊,請參閱使用查詢擷取資料。
指派
若為使用者擁有或團隊擁有的實體,您將記錄指派給新負責人。 如需詳細資訊,請參閱實體擁有權。 若要執行此動作,呼叫端必須擁有 Assign message privileges以及實體記錄的存取權限。
串聯規則會決定相關記錄是否同時指派給其他使用者。 如需詳細資訊,請參閱實體關聯行為。
將記錄指派給其他使用者或團隊時,先前的負責人仍可存取此記錄,如果 ShareToPreviousOwnerOnAssign 屬性設為 true。 不過,先前的負責人將不再有記錄的擁有權。
共用
若為使用者擁有或團隊擁有的實體,您可以與其他使用者或團隊共用記錄。 若要執行此動作,呼叫端必須擁有 GrantAccess message privileges、ModifyAccess message privileges和 RevokeAccess message privileges,以及實體記錄的存取權限。
串聯規則會決定相關記錄是否同時共用。 如需詳細資訊,請參閱實體關聯行為
共用是指 Microsoft Dynamics 365 使用者可讓其他使用者視需要存取客戶資訊的方式。 例如,銷售人員可能決定將商機與其他銷售人員共用,以便兩方都能追蹤重要銷售的進度。
使用 GrantAccessRequest 可共用記錄。 使用 ModifyAccessRequest 可變更記錄共用的方式。 使用 RevokeAccessRequest 可移除記錄的所有共用。
使用者必須具有共用權限才能與 Microsoft Dynamics 365 中的其他使用者共用客戶相關記錄,例如連絡人、客戶、商機、案例和訂單。 共用記錄時,可以指定針對共用記錄授與的權限。
下列清單描述共用記錄的規則:
任何具有記錄共用權限的人都可以將它與其他使用者或團隊共用。
任何具有記錄共用權限的人都可以設定該記錄的存取權限。 這些存取權限會控制共用記錄的使用者如何存取記錄。
共用記錄的存取權限可以設定為任何存取權限,例如讀取或寫入。
共用記錄的存取權限可以依據每位共用記錄的使用者而不同。
記錄只能與相同的安全性主體共用一次。 使用者擁有記錄的共用權限,就可以共用該記錄。
具有業務記錄共用權限的任何人都可以修改共用該記錄的使用者的存取權限。
具有業務記錄共用權限的任何人都可以移除共用該記錄的指定使用者的共用。
具有業務記錄共用權限的任何人都可以移除先前共用該記錄的所有使用者的共用。
Associate
若要執行此動作,呼叫端必須擁有 Associate message privileges以及要更新的記錄的存取權限。
關聯會在一次交易中,於指定的記錄與指定的集合中所指定關聯的每一個記錄之間建立多項關聯。
對於一對多關聯,此方法會將相關記錄中將 ReferencingAttribute 設定為指定記錄的識別碼。
如果是多對多關聯,此方法會在交集表中建立關聯的記錄,其中包含被參考和參考記錄的 ID。 交集表名稱是在關聯的 IntersectEntityName 屬性中定義。
Disassociate
若要執行此動作,呼叫端必須擁有 Disassociate message privileges以及要更新的記錄的存取權限。
解除關聯會反向關聯作業,藉由更新被參考和參考記錄以及刪除交集記錄 (適用的話)。 如需詳細資訊,請參閱Associate。
設定狀態
若要執行此動作,呼叫端必須擁有 SetState message privileges以及要更新的記錄的存取權限。SetStateRequest 訊息更新實體記錄的 StateCode 和 StatusCode 屬性。
實體擁有權
實體擁有權有數種不同類型。 大部分實體 (包括自訂實體) 是由組織、使用者或團隊擁有。 有些商務實體沒有負責人,例如折扣類型 (折扣清單),其中擁有權是由其上層實體折扣所定義。 擁有權類型會定義可以在記錄上執行的一些作業。 實體的擁有權是在中繼資料屬性 OwnershipType 中定義。 下表列出擁有權屬性。
擁有權類型 |
描述 |
---|---|
組織所擁有 |
包含的資料中有的內容屬於或可由整個組織檢視。 組織擁有的實體不得指派或共用。 例如,產品為組織所擁有。 這些實體擁有名為 organizationid 的屬性。 |
業務所擁有 |
屬於業務單位的實體。 這些實體擁有名為 owningbusinessunit 的屬性。 |
使用者或團隊擁有的 |
指派給使用者或團隊。 這些實體包含與客戶相關的資料,例如客戶或連絡人。 安全性可以根據使用者或團隊的業務單位來定義。 這些實體擁有名為 owningteam 和 owninguser 的屬性。 |
無 |
這些實體不由其他實體所擁有。 |
有關使用者或團隊擁有權的其他資訊
您可以使用 AssignRequest 訊息變更記錄的擁有權。 如需詳細資訊,請參閱指派。 您可以使用 ReassignObjectsOwnerRequest 或 ReassignObjectsSystemUserRequest 訊息,為負責人的所有記錄執行大量重新指派行為。
備註
限制使用者或團隊的擁有權,就可以將資料的存取限制於組織中授權的使用者。 不過,您可以藉由共用實體記錄的方式,將資料存取權限擴充至其他使用者和團隊。 您也可以將記錄指派給其他使用者或團隊。 設定使用者擁有或團隊擁有的實體的安全性,可提供比組織擁有的實體更多的資訊安全角色存取層級。 組織擁有的實體的資訊安全角色有兩種存取層級:無和全域。 使用者擁有或團隊擁有的實體有五種存取層級:全域、深度、本機、基本和無。
記錄狀態
大部分商務實體有兩個屬性來追蹤記錄的狀態。 這些是 StateCode,在 Web 應用程式中稱為「狀態」,以及 StatusCode,在 Web 應用程式中稱為「狀態原因」。StateCode 和 StatusCode 屬性值彼此連結。StateCode 屬性在內部用來表示實體的狀態。StatusCode 屬性用來對使用者顯示此值。 實體的這組有效狀態碼無法自訂,但是狀態碼可以自訂。 對於案例實體和自訂實體,您可以定義狀態有效轉換的其他準則。 如需詳細資訊,請參閱 自訂實體屬性中繼資料和 定義自訂狀態模型轉換。
實體影像
某些系統實體有影像屬性。 您可以將影項屬性新增至自訂實體。 當實體具有影像屬性 (Attribute) 時,您可以設定 PrimaryImageAttribute 屬性 (Property) 控制是否在應用程式中顯示影像。 當影像在應用程式中顯示時,Web 應用程式的使用者可以上傳實體記錄的圖片。 下列系統實體具有影像屬性。 標記星號的項目為預設啟用,會在應用程式中顯示。
帳戶 * |
KbArticle |
行銷活動 |
事件 |
競爭者 * |
關係 |
連絡人 * |
合約 |
TransactionCurrency |
EmailServerProfile |
目標 |
發票 |
潛在客戶 * |
信箱 |
OpportunityProduct |
SalesOrder |
組織 |
: [2] -- [3] * |
發行者 * |
佇列 |
資源 * |
SalesLiterature |
領域 |
SystemUser * |
其他資訊:影像資料屬性。
另請參閱
管理和安全性實體
使用中繼資料產生實體圖表
定義自訂狀態模型轉換
實體圖表的關鍵
塑造您的業務資料
自訂實體關聯中繼資料
實體關聯行為
Microsoft Dynamics CRM 2015 的中繼資料和資料模型
擴充中繼資料模型
使用解決方案,封裝與發佈擴充功能
IOrganizationService 實體
Microsoft Dynamics CRM 2015 的安全性模型
範例:設定及擷取實體影像
範例:指派記錄給團隊
範例:使用 GrantAccess、ModifyAccess 和 RevokeAccess 訊息共用記錄
範例:合併兩筆記錄
範例:驗證記錄狀態及設定記錄的狀態
範例:彙總與特定記錄相關的記錄
© 2017 Microsoft. 著作權所有,並保留一切權利。 著作權