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

Я использую 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 не поддерживает прямое обновление свойств ссылки на сущность, вместо этого используйте свойства навигации.


person Mahesh    schedule 04.11.2016    source источник


Ответы (2)


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

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

{
   "name":"Sample Account",
   "[email protected]":"/contacts(00000000-0000-0000-0000-000000000001)"
}

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

person Leon Bouquiet    schedule 03.02.2017

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

person Mahesh    schedule 06.11.2016