0

I'm deleting an instance of an entity and depending on the value of an option set in it, I wish to carry our different course of action. The problem is that the field isn't changed, hence, not provided to the plugin's target.

How can I easily tell the stupid plugin to fetch all the fields?

The way I do it now is to use pre-image but I'll be showing the plugin to some rookies and they will definitely not like it. And they won't believe me that's the way to go, for sure, because they're a cocky bunch.

Is there a work-around for that?

4

2 回答 2

2

在这种情况下,建议使用前映像,另一种方法是实例化服务工厂以获取 IOrganizationService 并使用目标的 Id 检索实体。

于 2015-05-17T15:19:58.227 回答
1

它是 IPluginExecutionContext 的一部分(Target 是其中的一部分)。如果初学者认为 Target 不仅仅是 IPluginExecutionContext 的一个属性,我认为他们会感到困惑。

将这些值作为 Target 的一部分是没有意义的,因为这样会导致字段更新为其当前值 - 如果您将其强制放入 Target,您将在审核详细信息中看到更新。

因此,CRM 具有 PreEntityImages、Target 和 PostEntityImages,如果 Target 以“他们”希望的方式使用,它将无法区分正在更新的值、先前的值和实体的最终结果。

于 2015-05-19T15:36:59.297 回答