Я пишу плагин для создания записей и сталкиваюсь со следующей проблемой:
У меня есть 2 лица. Entity1 и Entity2. Entity2 имеет отношение n-1 к Entity1 и также получил поле поиска для Entity1 в своей форме. В своем коде плагина я создаю запись Entity1, и после этого я хочу создать запись Entity2 с полем поиска (для Entity1), заполненным только что созданной записью Entity1. Но я получил ошибку. Мой код выглядит так:
Entity entity1 = new Entity("new_entity1");
//Here I'm filling my entity1's fields
Guid entity1Id = service.Create(entity1);
Entity entity2 = new Entity("new_entity2");
//Here I'm filling my entity2's fields
entity2 ["new_entity1id"] = new EntityReference("new_entity1",entity1Id);
service.Create(entity2);
Я новичок в разработке CRM, поэтому не могу распознать проблему. Я предполагаю, что, возможно, все создается, когда код плагина заканчивается, поэтому запись Entity1 не создается ко времени, когда я создаю запись Entity2, но это только мое предположение.
Любая помощь будет великолепна.
Сообщение об ошибке:
Unhandled Exception: System.ServiceModel.FaultException`1[[Microsoft.Xrm.Sdk.OrganizationServiceFault, Microsoft.Xrm.Sdk, Version=5.0.0.0, Culture=neutral, PublicKeyToken=xxxxxxxxxxxx]]: An error occured in the AccountCreateHandler plug-inDetail: <OrganizationServiceFault xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/xrm/2011/Contracts"> <ErrorCode>-2147220891</ErrorCode> <ErrorDetails xmlns:d2p1="http://schemas.datacontract.org/2004/07/System.Collections.Generic">
<KeyValuePairOfstringanyType>
<d2p1:key>OperationStatus</d2p1:key>
<d2p1:value xmlns:d4p1="http://www.w3.org/2001/XMLSchema" i:type="d4p1:string">0</d2p1:value>
</KeyValuePairOfstringanyType> </ErrorDetails> <Message>An error occured in the AccountCreateHandler plug-in</Message> <Timestamp>2011-12-09T14:17:22.2773373Z</Timestamp> <InnerFault i:nil="true" /> <TraceText>
[Execute_Buchen: Execute_Buchen.Class1] [dc2f71e8-b216-e111-b59f-00155d0a3339: Execute_Buchen.Class1: Update of new_entity0 START:IPlugin.Execute
</TraceText> </OrganizationServiceFault>