Получение атрибута объекта из CRM - указанный состав недействителен

Я использую fetchXML для запроса MS CRM, и все выглядит нормально, за исключением случаев, когда я пытаюсь получить атрибут объекта, который является уникальным идентификатором.

Guid contactID = entity.GetAttributeValue<Guid>("sb_contactid");

Результат:

Specified cast is not valid.

Когда я проверяю объект, прежде чем пытаться получить значения атрибутов, я вижу значение (а также это «entityReference», это актуально?).

введите здесь описание изображения

введите здесь описание изображения

Я также пробовал:

var contactID = (Guid)entity.Attributes["sb_contactid"];

Другие атрибуты объектов различных типов извлекаются без проблем и, как указано выше, могут видеть значение атрибута при проверке объекта — как его получить?


person Agamemnon    schedule 13.06.2018    source источник


Ответы (1)


Тип sb_contactidEntityReference. Вы не сможете привести это к типу Guid.

Но вы можете получить Guid из EntityReference.

Guid contactId = entity.GetAttributeValue<EntityReference>("sb_contactid").Id;

person James Wood    schedule 13.06.2018
comment
Это именно то, что я делал неправильно, теперь кажется таким очевидным. Спасибо что подметил это! - person Agamemnon; 13.06.2018