从 CRM 获取实体属性 - 指定的转换无效

Getting entity attribute from CRM - Specified cast is not valid

我正在使用 fetchXML 查询 MS CRM,一切似乎都正常,除非我尝试检索作为唯一标识符的实体的属性。

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

结果:

Specified cast is not valid.

当我在尝试获取属性值之前检查实体时,我可以看到该值(这也是一个 'entityReference' 这是否相关?)。

我也试过:

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

各种类型的其他实体属性检索没有问题,如上所述,在检查实体时可以看到属性的值 - 如何取出它?

sb_contactid的类型是EntityReference。您将无法将其转换为 Guid 类型。

但是您可以从 EntityReference 中获取 Guid

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