CRM не поддерживает прямое обновление свойств Entity Reference, вместо этого используйте свойства навигации

Я использую Ms Dynamic Web Api с Simple OData. Мне нужно добавить новую запись для ссылок сущностей.

Я использую приведенный ниже фрагмент кода и ссылаюсь на документацию по https://github.com/object/Simple.OData.Client/wiki/Adding-entries-with-links

       var newContactData = await _oDataClient
            .For<Contacts>()
               .Set(new
               {
                   firstname = contactData.ContatDetails.firstname,
                   lastname = contactData.ContatDetails.lastname,
                   emailaddress1 = contactData.ContatDetails.emailaddress1
               })
               .InsertEntryAsync(true);

        var newContactLink = await  _oDataClient.For<New_project_contactses>()
                .Set(new
                {
                    _new_contact_project_name_new_value = contactData.ContatDetailsLink._new_contact_project_name_new_value,
                    new_project_contactsid = new Guid("0eb46b24-21a2-e611-80eb-c4346bc5b2d4"),
                    new_contact_type = contactData.ContatDetailsLink.new_contact_type,

                })
                .InsertEntryAsync(resultRequired: true);

я получаю исключение

CRM не поддерживает прямое обновление свойств Entity Reference, вместо этого используйте свойства навигации

2 ответа

Ну, это возможно, но вам нужно использовать специальный синтаксис "@odata.bind", чтобы обновить ваши свойства одиночной навигации.

Например, чтобы обновить учетную запись, чтобы она ссылалась на существующий первичный контакт, вы можете использовать операцию PATCH для /api/data/v8.2/accounts конечная точка со следующим телом:

{
   "name":"Sample Account",
   "primarycontactid@odata.bind":"/contacts(00000000-0000-0000-0000-000000000001)"
}

См. https://msdn.microsoft.com/en-us/library/gg328090.aspx (это обсуждается с точки зрения создания объекта, но также работает и для обновления).

Я выясняю проблему С Dynamc CRM вы не можете напрямую обновить поле ссылочных объектов. Вы можете определить свойства ссылочной сущности, начинающиеся с "_".

Другие вопросы по тегам