如何将未更改字段的值推送到插件输入参数中的目标?
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,它将无法区分正在更新的值、先前的值和实体的最终结果.
我正在删除实体的一个实例,并根据其中设置的选项值,我希望执行不同的操作过程。问题是该字段未更改,因此未提供给插件的目标。
我怎样才能轻松地让愚蠢的插件获取所有字段?
我现在的做法是使用原像但是我会向一些菜鸟展示这个插件,他们绝对不会 喜欢。他们肯定不会相信我这是要走的路,因为他们是一群自大的人。
有解决办法吗?
在这种情况下,建议使用原像,替代方法是实例化服务工厂以获取 IOrganizationService 并使用目标的 Id 检索实体。
它是 IPluginExecutionContext 的一部分(Target 是其中的一部分。)如果初学者认为 Target 不仅仅是 IPluginExecutionContext 的 属性,我认为他们会感到困惑。
将这些值作为 Target 的一部分是没有意义的,因为那样会导致将字段更新为其当前值 - 如果您将其强制放入 Target,您会在审计详细信息中看到更新.
因此,CRM 有 PreEntityImages、Target 和 PostEntityImages,如果按照 "they" 希望的方式使用 Target,它将无法区分正在更新的值、先前的值和实体的最终结果.