2014-02-07 1 views
1

Итак, когда сущность создана, я хочу искать другие объекты и связывать их. Тем не менее, я получаю ошибку отсутствия, если я обновляю другие объекты с репутацией объекта вновь созданной, и это имеет смысл, потому что это PRE create.Плагин Создать предварительную операцию добавить связанный объект

Так я обновил его, как так думать, что это будет делать трюк, но я получаю «неизвестная ошибка» где-то глубоко в сердце 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. 

ответ

2

Я не уверен, какова ваша ошибка, но я бы изменил плагин для создания, после операции. Он все еще находится в транзакции базы данных, но теперь Target будет существовать, поэтому попытка добавления отношения будет успешной, а не неудачной.

+0

Файл xml Visual Studio, который описывает регистрацию, имеет операцию post с именем «PostOutsideTransaction», поэтому я предположил, что это вне транзакции. Однако принудительная ошибка, похоже, откатывается. – LameCoder

+2

@LameCoder Мне интересно, относится ли это к регистрации плагина CRM 4.0? CRM 2011 - это проверка стороны транзакции, а также pre и post, как в области транзакций – Daryl

 Смежные вопросы

  • Нет связанных вопросов^_^