2012-09-17 51 views
2

我試圖讓父實體的字段,但我沒有得到所有的領域,只有他們中的一些。檢索不檢索插件在動態crm 2011的所有屬性

Entity parentEntity = service.Retrieve("entityname", id, new ColumnSet(true)); 

在調試過程中,我看到了返回實體中自定義實體的一些自定義屬性,但其中一些缺失。例如,我得到選項列表的整數值,但不是值字段的值。檢索到的實體中沒有這種屬性。

這是一個插件,可以觸發帖子更新事件。

任何幫助將不勝感激。 謝謝。

+1

你如何得到你的屬性?與postImage或與目標?因爲如果您從目標中檢索它們,可能是因爲它們在CRM中沒有更改,因此它們不在目標中,因爲它只包含已更改的屬性。 –

+0

你好。我從postimage獲得Guid(父對象的外鍵),並使用它獲取上面顯示的parentEntity。父實體缺少一些屬性。 – tdgtyugdyugdrugdr

+0

和插件註冊工具。您是否定義了具有所有可用屬性的postImage? 它可能是空的,所以你不能檢索任何東西。 –

回答

5

您只會獲取已填充的屬性(在數據庫中有值)。

屬性集合也可能包含一些其他位,例如系統值和Id,但對於標準字段,一般而言,您只會獲得返回值的字段。

例如,如果你有一個聯繫人記錄數據如下:

名字:詹姆斯 姓:木

然後:

Entity contact = service.Retrieve("contact", contactId, new ColumnSet(true)); 

contact.Attributes將包含「姓'和'姓氏'。但不包含'中間名'。

(因爲使用new ColumnSet(true)的一面應該儘可能避免)。

+0

非常感謝!我正在嘗試更新操作,無法獲得該字段。我只是將零值設置爲零(因爲它應該是),現在一切都像一個魅力! – tdgtyugdyugdrugdr