插件创建操作前添加相关实体

时间:2014-02-07 15:28:05

标签: dynamics-crm dynamics-crm-2013

因此,当创建实体时,我想搜索其他一些实体并将它们关联起来。但是,如果我用新创建的实体引用更新其他实体,我会得到一个不存在的错误,这是有道理的,因为它是PRE创建的。

所以我更新了它,因为我认为这样可以解决这个问题,但是我从CRM的核心深处得到了一个“未知错误”:

var newEntity = (Entity)localContext.PluginExecutionContext.InputParameters["Target"];
var allUnits = localContext.OrganizationService.RetrieveMultiple(....); //grabs the units that will be used

newEntity.RelatedEntities.Add(new Relationship("ntcp_equipment_unit"), new EntityCollection(allUnits.Entities));

结果:

System.ServiceModel.FaultException`1 occurred
Message: A first chance exception of type 'System.ServiceModel.FaultException`1' occurred in Microsoft.Crm.Extensibility.dll
Additional information: An unexpected error occurred.

1 个答案:

答案 0 :(得分:2)

我不确定你的错误是什么,但我会将插件更改为Create,Post-Operation。它仍然在数据库事务中,但现在Target将存在,因此尝试添加关系将成功而不是失败。