1

使用 OData V4 的通用北风服务,我们可以进行以下查询:

http://services.odata.org/V4/Northwind/Northwind.svc/Customers?$expand=Orders($expand=Order_Details)

这利用了双重扩展并返回正确的 json。在我的元数据文件中,可以进行一阶扩展,但是每当我在括号中使用第二个扩展时,都会出现错误:

The EDM instance of type '[Microsoft.Dynamics.DataEntities.XX Nullable=True]' is missing the property 'YY'.

其中 XX 和 YY 是上述形式的不同实体: .../ZZ?$expand=XX($expand=YY)

我反复检查了元数据中的导航属性,它们都拼写正确并在正确的类别下正确输入。有谁知道为什么它一直抱怨财产丢失?

4

1 回答 1

1

从您的问题中我了解到:您正在尝试检索 ZZ 实体记录,包括 XX 实体的集合值导航属性,递归地检索另一个集合值 YY 实体的导航属性。

换句话说,所有客户及其订单及其订单详细信息。

至少我知道,即 Dynamics CRM webapi 的演变从今天的 v8.0 到 v9,支持的操作、功能、操作增强了很多。但我担心你所期望的还不支持(我也很好奇是否有人证明我错了,所以我可以学习。)阅读最新的

如果您阅读了上述文档,您还有其他选择 - fetchxml仍可用于 Web api 请求。

获取 5 个帐户 + 他们的任务的示例查询:

GET [Organization URI]/api/data/v9.0/accounts?$top=5&$select=name&$expand=Account_Tasks($select=subject,scheduledstart)

尝试在其中添加一些属性($select属性)$expand并查看它是否有效。

于 2018-01-27T04:19:00.820 回答