OData EDM遗失物业

时间:2018-01-26 20:50:00

标签: odata dynamics-crm microsoft-dynamics dynamics-365 dynamics-crm-webapi

使用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)

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

1 个答案:

答案 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属性)。看看它是否有效。