Dynamics crm 2011 CRM 2011插件约会删除未获取所需与会者

Dynamics crm 2011 CRM 2011插件约会删除未获取所需与会者,dynamics-crm-2011,crm,Dynamics Crm 2011,Crm,有人能告诉我,当约会被删除时,如何获取约会的“RequiredAttenders”吗。 删除约会时,我需要对这些与会者执行更新。无论是在赛前还是赛后,我都不会在那个政党名单上看到价值观 即使预映像实体并没有只捕获“RequiredAttenders”字段的信息,该预映像实体中的其余字段也可以 谁能说我做错了什么 非常感谢。假设您已在Delete操作前注册插件 var appointment = pluginExecutionContext.InputParameters["Target"] as

有人能告诉我,当约会被删除时,如何获取约会的“RequiredAttenders”吗。 删除约会时,我需要对这些与会者执行更新。无论是在赛前还是赛后,我都不会在那个政党名单上看到价值观

即使预映像实体并没有只捕获“RequiredAttenders”字段的信息,该预映像实体中的其余字段也可以

谁能说我做错了什么


非常感谢。

假设您已在
Delete
操作前注册插件

var appointment = pluginExecutionContext.InputParameters["Target"] as EntityReference;
var response = organizationService.Retrieve("appointment", appointment.Id, new ColumnSet("requiredattendees"));
var requiredAttendees = response.GetAttributeValue<EntityCollection>("requiredattendees");

foreach (var attendee in requiredAttendees.Entities)
{
       //your logic
}
var appointment=pluginExecutionContext.InputParameters[“Target”]作为EntityReference;
var response=organizationService.Retrieve(“约会”、约会.Id、新列集(“RequiredAttendes”);
var requiredAttendes=response.GetAttributeValue(“requiredAttendes”);
foreach(RequiredAttendes.Entities中的var attendee)
{
//你的逻辑
}

您需要在
预验证
插件中检索子记录列表,因为级联删除/解除关联可能发生在
预操作
之前


假设您需要完整性,您应该在
PreValidation
中收集此信息并保存它(
IPluginExecutionContext.SharedVariables
是保存GUID的好地方。)在
操作前
操作后
插件中,您可以根据存储的所需与会者GUID列表执行逻辑。

实体映像本身不会有相关记录,您需要获取相关记录。我已经尝试过了,但没有效果。主要问题是,当我调试它时,它工作得很好。当我不调试时,它就不工作了(对我来说,这看起来像是数据问题,你在两种情况下都使用相同的记录吗?从逻辑上讲,你是否在调试它应该很重要。不,这不是数据问题。你需要分析错误来加载插件,当分析程序打开时,删除操作将完成,并且该记录仍然存在于CRM中,你可以刷新网格,你将获得该记录。现在,当我调试时,它会从同一条记录中获取值。我第一次尝试了这个方法,但它不起作用,所以尝试了PreImage,但也不起作用(我可以尝试上述方法。将在此处更新。我创建了一个插件只是为了测试这一点,并为我工作。您是否在操作前注册了插件?是的,当然。在您的情况下,您可以获取字段“RequiredAttenders”的partylist,而无需调试在约会前注册的插件(删除)在同步模式下?我从未尝试过这一点,即预验证,这是我第一次尝试,并将在此处更新。我尝试过,它确实在约会的“预验证”阶段发挥作用。非常感谢:)