我是 CRM 开发的新手。我有一个自定义实体“客户”。该实体有一个名为“defaultcustomer”的字段,可以是 TRUE 或 FALSE。我正在开发一个插件,我需要将所有“客户”的“defaultcustomer”设置为 FALSE。我这样做如下:
事实:
我已经为实体“客户”本身注册了插件。因此,当实体“客户”更新时,插件会触发。
private void MakeAllNonDefault()
{
try
{
QueryExpression query = new QueryExpression("customer");
query.ColumnSet = new ColumnSet("defaultcustomer");
EntityCollection retrieved = service.RetrieveMultiple(query);
foreach (Entity myCustomer in retrieved.Entities)
{
myCustomer["defaultcustomer"] = false;
service.Update(myCustomer);
}
}
catch (Exception ex)
{
throw new InvalidPluginExecutionException("An error occurred in MakeAllNonDefault(): " + ex.ToString());
}
}
错误: 它在此行引发错误:
myCustomer["defaultcustomer"] = false;
System.Collections.Generic.KeyNotFoundException:
The given key was not present in the dictionary.