如何将未更改字段的值推送到插件输入参数中的目标?

How to push a value of an unchanged field into the target in a plugin's input parameters?

我正在删除实体的一个实例,并根据其中设置的选项值,我希望执行不同的操作过程。问题是该字段未更改,因此未提供给插件的目标。

我怎样才能轻松地让愚蠢的插件获取所有字段?

我现在的做法是使用原像但是我会向一些菜鸟展示这个插件,他们绝对不会 喜欢。他们肯定不会相信我这是要走的路,因为他们是一群自大的人。

有解决办法吗?

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

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

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

因此,CRM 有 PreEntityImages、Target 和 PostEntityImages,如果按照 "they" 希望的方式使用 Target,它将无法区分正在更新的值、先前的值和实体的最终结果.