Dynamics CRM:“the given key was not present in the dictionary”


在插件中無意中撞到這個問題,其實很簡單,就是調用外部的web service,然后根據回傳結果更新記錄中的field

網上的建議都是要檢查這個key是否存在,開始時很不理解,這個field肯定存在的啊,怎么還需要檢查呢

之后加trace,嘗試着用attribute.contains檢查了一下,原來真的不存在

記下來以后要注意一點,對於實體記錄,如果field 值是空的話,不返回這個field

這樣只能添加,而不是直接賦值

標准代碼如下

if (e.Attributes.Contains("new_expressstatus"))
{
    e["new_expressstatus"] = result;
}
else
{
    e.Attributes.Add("new_expressstatus", result);
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM