2017-08-06 44 views
-2

我想了解實體引用的使用(在crm 2011中)我在網上找到許多實體引用的例子,主要是查找字段,但我需要一個absoulte descreption。實體引用僅用於查找字段的使用情況嗎?我可以使用簡單的實體來獲取我的數據嗎?實體可以替換實體引用嗎? 我的問題不僅是關於entityreference和entity之間的區別,還關於entityreference的定義以及爲什麼/在哪裏使用它。 有人可以請這個問題清楚。什麼是實體參考定義

+0

[Convert EntityReference to Entity](https://stackoverflow.com/questions/15277597/convert-entityreference-to-entity) –

+0

@ArunVinoth在發佈我的問題之前,我看到了答案,它不是清楚,我不認爲我的問題是重複的。 – Damkulul

回答

7

動態CRM開發記錄被稱爲實體,由屬性組成。當屬性是查找(即對另一個實體的引用)時,它屬於EntityReference類型。 EntityReference類型是必需的,因爲它必須傳達實體的邏輯名稱和特定記錄的id(一個Guid)。

IOrganizationService service = GetService(); //TODO: Implement GetService() 

//From: https://msdn.microsoft.com/en-us/library/gg328149.aspx 

Entity contact = new Entity("contact"); 
contact.Attributes["firstname"] = "ContactFirstName"; 
contact.Attributes["lastname"] = "ContactLastName"; 
Guid contactId = service.Create(contact); 

Entity account = new Entity("account"); 
account["name"] = "Test Account1"; 
EntityReference primaryContactId = new EntityReference("contact", contactId); 
account["primarycontactid"] = primaryContactId; 

一個Entity對象不能被用作EntityReference因爲類型不同。 Entity有一個方法返回EntityReference,Entity.ToEntityReference()

重要

有關EntityReference關鍵的東西是,它同時包含邏輯名稱和記錄的ID

Dynamics CRM中有幾個區域,例如使用Customer數據類型時,Lookup可能引用多個實體類型。在這些情況下,Dynamics CRM無法僅依靠Guid作爲記錄標識符。