在Dynamics 365中遇到此问题似乎应该可以解决,但是却给了我
类型'Microsoft.Dynamics.CRM.biz_productbuyer'上的属性'_biz_buyerlookupid_value'不是导航属性或复杂属性。只有导航属性可以展开。
我可以复制此处提供的示例,并且可以找到:
基本上尝试在相关字段中进行读取,因此我不必执行其他查询。
因此,在名为Product Buyer
或biz_productbuyers
的自定义实体中有一个查找字段,以引入与该Contact
关联的Product
名称。
当您查看实体的字段时,该字段称为biz_buyerlookupid
。
使用Web API时,该实体中没有任何叫作biz_buyerlookupid
的东西。摆脱$select=
并使其完全打开,以便我进行搜索。
有一个名为_biz_buyerlookupid_value
的字段。我将其放入$select
中,并返回:
{
@odata.etag: "W/"20636204"",
_biz_buyerlookupid_value: "906595fd-2a83-dc11-ae20-000feaed3854",
biz_productbuyerid: "8be67d14-9efb-4335-98c7-000451a50cef",
}
两个字段之间显然存在某种关系,但听起来_biz_buyerlookupid_value
是对Contacts
的查找。 _biz_buyerlookupid_value
确实与contact
实体中的实际值相对应,即单个contactid
。我检查了。尝试了以下所有方法并收到了前面的消息:
/api/data/v9.0/biz_productbuyers?$select=_biz_buyerlookupid_value&$expand=_biz_buyerlookupid_value($select=contactid, fullname)
/api/data/v9.0/biz_productbuyers?$select=_biz_buyerlookupid_value&$expand=biz_productbuyerid($select=contactid, fullname)
/api/data/v9.0/biz_productbuyers?$select=biz_productbuyerid&$expand=biz_productbuyerid($select=contactid, fullname)
/api/data/v9.0/biz_productbuyers?$select=biz_productbuyerid&$expand=_biz_buyerlookupid_value($select=contactid, fullname)
那么这是怎么回事?据我所知,应该从contactid
实体中引入fullname
和contact
。
答案 0 :(得分:1)
我的理解是,_[field]_value
项将立即为您提供关联项的GUID。
要使用$expand
,必须使用架构名称,因此它应类似于:
$expand=biz_buyerlookupid($select=contactid, fullname)
请注意,biz_buyerlookupid
区分大小写。
您可以查看CRM实例的元数据以获取正确的大小写:https://[org].crm.dynamics.com/api/data/v9.0/$metadata