2014-12-13 94 views
0

我正在爲我的插件使用CRM 2015 SDK。我想要我的代碼中的實體引用的屬性。我能夠獲得指導和邏輯名稱。但是該名稱對於所有實體引用字段都返回null。這裏是我的代碼:無法從EntityReference獲取名稱

EntityReference centre= ((EntityReference)quoteEntity.Attributes["mc_centre"]); 
Guid centreGuid = centre.Id; //returns Guid 
string centreName = centre.Name; //returns null 

我檢查了引用實體,「中心」它使用「名稱」字段,並具有有效的值。有沒有人遇到同樣的問題?我在代碼中做錯了什麼?我不想要另一個服務調用來獲得名稱順便說一句。

+0

你填入你的記錄'主要field'?這通常是'_name'字段(我想''mc_name'),但可以不同。簽入_solution_ - > _entity properties_ - > _primary fields_ – MarioZG 2014-12-13 09:45:06

+0

是的,相應的名稱字段'mc_name'具有有效值。 – Mani 2014-12-14 09:34:57

回答

4

EntityReference的屬性在您從屬性轉換時並不總是被填充。 如果你想得到名字,你需要做一個額外的檢索。

這是相關的MSDN文章:EntityReference.Name Property

該屬性可以包含值或空。除非EntityReference對象已從服務器檢索到 ,否則此屬性不會自動填充 。

4
Entity member = service.Retrieve("new_vendor", ((EntityReference)entity["new_vendorname"]).Id, new ColumnSet(true)); 

Entity member = service.Retrieve("new_vendor", Vendor.Id, new ColumnSet(true)); 


String VendorName = member.Attributes["new_name"].ToString(); 
+0

我們可以在'ColumnSet'中指定'new_name',因爲我想單獨檢索名稱。 – Mani 2014-12-31 03:25:28