url - 类型“Microsoft.Dynamics.CRM.entity”的属性“字段”不是导航属性或复杂属性。只能展开导航属性
问题描述
在 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
解决方案
我的理解是该_[field]_value
项目会立即为您提供相关项目的 GUID。
要使用$expand
,您必须使用模式名称,所以它应该如下所示:
$expand=biz_buyerlookupid($select=contactid, fullname)
并注意biz_buyerlookupid
区分大小写。
您可以查看 CRM 实例的元数据以获取正确的大小写:https://[org].crm.dynamics.com/api/data/v9.0/$metadata
推荐阅读
- eclipse - 跟踪从我自己的类创建的对象
- excel - 跳过类型不匹配
- redirect - HTTP2 请求不遵循 JMeter 5.0 中的重定向
- javascript - 将 javascript 中的数据源发送到 mySQL 数据库
- nlp - Dialogflow 中的组参数
- c# - 在 ASP.net 中使用 Office 365 作为中继时如何将发件人(代表用户)添加到电子邮件
- ios - Swift:使用 Dictionary 将 JSON 数据从 alamofire 解析为数组时出错
- eucalyptus - Eucalyptus 4.4.4 Eucaconsole 登录后崩溃
- powershell - Powershell自行更改数组内容
- c# - 如何通过 USB 使用 C# 连接多个红外摄像机