使用OData V4的通用northwind服务,我们可以进行此查询:
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?$扩大= XX($扩大= YY)
我反复检查了元数据中的导航属性,它们都拼写正确,并在正确的类别下正确输入。有没有人知道为什么它一直在抱怨财产丢失?
答案 0 :(得分:1)
从您的问题我理解的内容:您正在尝试检索ZZ实体记录,包括XX实体的集合值导航属性,递归地另一个集合值YY实体的导航属性。
换句话说,所有订单及其订单详细信息的客户。
至少知道什么,即动态CRM webapi演变从今天的v8.0到v9开始,支持的操作,功能,动作都得到了很大的提升。但我担心你所期待的还没有得到支持(如果有人证明我错了,我也很好奇,所以我可以学习。)Read the latest。如果您阅读上述文档,则还有其他选项 - fetchxml ,它仍然可以与web api请求一起使用。
获取5个帐户及其任务的示例查询:
GET [Organization URI]/api/data/v9.0/accounts?$top=5&$select=name&$expand=Account_Tasks($select=subject,scheduledstart)
尝试在$select
&中添加一些属性($expand
属性)。看看它是否有效。