CRM 2011 KeyNotFoundException exception

南笙酒味 提交于 2019-12-02 02:01:53
glosrob

The error means that particular field is not present in the collection of properties. In CRM, only properties that have been set or updated are included.

Try something like:

foreach (Entity myCustomer in retrieved.Entities)
{
    if (myCustomer.Attributes.ContainsKey("defaultcustomer"))
    {
        myCustomer["defaultcustomer"] = false;
    }
    else
    {
        myCustomer.Attributes.Add("defaultcustomer", false);
    }
    service.Update(myCustomer);
}

Have you double checked that the field really is called defaultcustomer?

If it's a custom entity then it's likely the field begins with a prefix, for instance new_defaultcustomer. Make sure you are using the name of the field, not the display name.

The solution posted by @glosrob seems fine. Are you still getting "The given key was not present in the dictionary"?

Try to use ITracingService to get more information about the plugin execution flow.

While Update all Crm fields are False accept that what you Update the field. For that you can use Pre/Post Images in Plugin. you will found that crm field key and update what you need.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!