我正在尝试为 MS Dynamics CRM 4.0 制作一个简单的插件,其中在更新订单时在 SOAP 消息中发送销售订单的数据。奇怪的是,每次我尝试保存/(执行插件)时都会收到此错误。因此,当我更新销售订单的(任何字段)然后保存时,我收到错误:
The given key was not present in the dictionary.
当我在那之后立即再次保存(甚至在两次保存之间没有更改任何内容)时,它会正确执行并为我提供我想要的所有数据。真的是每次都一样:第一次保存:错误,第二次保存:正确执行。
任何想法这可能是什么?
这是我的代码的第一部分;在这种情况下,它实际上获得了 salesorder 的数据集:
public class CompleteOrderPlugin : IPlugin
{
public void Execute(IPluginExecutionContext context)
{
DynamicEntity entity = null;
if (context.InputParameters.Properties.Contains(ParameterName.Target) &&
context.InputParameters.Properties[ParameterName.Target] is DynamicEntity)
{
entity = (DynamicEntity)context.InputParameters[ParameterName.Target];
if (entity.Name != EntityName.salesorder.ToString()) { return; }
}
else
{
return;
}
剩下的就是我使用属性值来填充我自己的变量的地方。