0

我正在使用Microsoft Dynamics CRM Online。相關實體的Microsoft Dynamics CRM設置字段值

我有一個工作插件開始創建消息(後操作)的實體稱爲(讓我們簡化)「實體1」。這個插件的特點之一是它確定了一定的價值。我們稱之爲「重要價值」。插件還創建「entity1」和另一個實體(讓我們再次簡化)「entity2」之間的關係,並在「entity1」中填充相應的查找字段。

所有這一切都工作得很好。但是,我還希望插件將「entity2」(稱爲「samplefield」)字段設置爲「importantValue」的值。我知道如何檢索entity2的相關記錄的GUID,但我無法讓插件更新這個(已經存在的)記錄。

這是代碼製作問題的一部分。我已經檢索了GUID「entity2Guid」並填充了重要值(它是一個字符串)。我的IOrganizationService被稱爲「服務」。

Entity entity2 = new Entity("new_entity2"); 
entity2.Id = new Guid (entity2Guid); 
entity2["new_samplefield"] = importantValue; 
service.Update(entity2); 

我在做什麼錯?提前致謝!

+0

你會得到什麼例外? –

回答

-1

我想如果你正在更新自定義字段,你將不得不將字段名稱添加到實體屬性集合中。嘗試更新的實體是這樣的:

if (entity2.Attributes.ContainsKey("new_samplefield")) 
    entity2["new_samplefield"] = importantValue; 
else 
    entity2.Attributes.Add("new_samplefield", importantValue); 

也許,如果你知道這個屬性將永遠不會被包含在屬性集合中的if語句,並隨時添加它,你可以跳過。

+1

'entity2 [「new_samplefield」] = importantValue'是分配值的完美有效方法。如果屬性尚未包含在集合中,它將自動添加。 –

相關問題