Target始终是Entity还是EntityReference ?

本文关键字:还是 EntityReference Entity Target | 更新日期: 2023-09-27 18:05:35

我发现在我的一些代码中,我有以下语法来保护插件免受FUBARing。看在上帝的份上,我不可能不记得为什么我把EntityReference的析取条件。

上下文。InputParameters["Target"] every EntityReference?

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

除了实体还有吗?

Target始终是Entity还是EntityReference ?

Target也可以是EntityReference,来自MSDN:

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

了解传递给插件的数据上下文

所以根据你插件的逻辑,你可能需要检查EntityReference的属性类型。