Предположим, у нас есть сущность «Учетная запись» в Dynamics 365, у учетной записи есть атрибуты номера и имени c5.
Теперь я хочу создать новую учетную запись через Dynamics 365 Web API. Я создаю объект учетной записи с номером c5, именем и добавляю дополнительный атрибут lastname. Когда я отправляю этот объект учетной записи в веб-API, я получаю сообщение об ошибке:
"code":"","message":"The property 'lastname' does not exist on type 'Microsoft.Dynamics.CRM.account'. Make sure to only use property names that are defined by the type.","innererror":{
"message":"The property 'lastname' does not exist on type 'Microsoft.Dynamics.CRM.account'. Make sure to only use property names that are defined by the ...
Я действительно не понимаю, почему Dynamics 365 Web API просто не может игнорировать свойство, которое он не может использовать?
В этом конкретном сценарии это означает, что если мы удалим свойство name в сущности учетной записи, есть вероятность, что все наши системы, которые взаимодействуют с веб-API, выйдут из строя.
Как я могу обойти эту проблему? Есть ли способ заставить Dynamics 365 Web API игнорировать некоторые свойства?
POST
, чтобы включить только те атрибуты, которые предоставлены в экземпляре, к которому вы подключены. Похоже на вероятный кандидат, учитывая описание в MSDN - msdn.microsoft.com /en-us/library/mt607522.aspx#Retrieving атрибуты Некоторые SO-ответы показывают, как это сделать тоже. - person Mr Moose   schedule 03.07.2017new ColumnSet(true)
(SELECT * FROM), что даст экземпляр объекта со всеми допустимыми атрибутами. Сбросьте его ID на ноль, обновите атрибуты по мере необходимости и.Create()
его. Используйте на свой страх и риск. Я по-прежнему рекомендую выбирать атрибуты на основе сущности (логического имени) и / или метаданных сущности. - person Filburt   schedule 03.07.2017