Target始终是实体还是EntityReference?

时间:2013-03-25 10:47:16

标签: c# plugins dynamics-crm-2011

我发现在我的一些代码中,我有以下语法来保护来自FUBARing的插件。我不能为了上帝的爱而不记得为什么我将 EntityReference 的条件视为条件。

Context.InputParameters ["目标"] 每个 EntityReference

bool goodToGo 
  = Context.InputParameters.Contains("Target")
    && Context.PrimaryEntityName == "email";
    && (
      Context.InputParameters["Target"] is Entity
      || Context.InputParameters["Target"] is EntityReference);

实体以外

1 个答案:

答案 0 :(得分:10)

目标也可以是来自MSDN的EntityReference:

  

请注意,并非所有请求都包含Entity类型的Target属性,因此您必须查看每个单独的请求或响应。例如,DeleteRequest确实具有Target属性,但其类型为EntityReference。

Understand the Data Context Passed to a Plug-In

因此,根据插件的逻辑,您可能还需要检查 EntityReference 的属性类型。