因此,当创建实体时,我想搜索其他一些实体并将它们关联起来。但是,如果我用新创建的实体引用更新其他实体,我会得到一个不存在的错误,这是有道理的,因为它是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.
答案 0 :(得分:2)
我不确定你的错误是什么,但我会将插件更改为Create,Post-Operation。它仍然在数据库事务中,但现在Target将存在,因此尝试添加关系将成功而不是失败。