【问题标题】:OData EDM Missing PropertyOData EDM 缺少属性
【发布时间】:2018-01-26 20:49:59
【问题描述】:

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

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

【问题讨论】:

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


    【解决方案1】:

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

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

    至少我知道,即 Dynamics 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)
    

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

    【讨论】:

    • 嘿阿伦,你是对的。不支持展开超过一层。支持可能会在未来提供,但还没有时间表。
    猜你喜欢
    • 1970-01-01
    • 2013-03-27
    • 2013-12-25
    • 1970-01-01
    • 1970-01-01
    • 2019-09-07
    • 2017-01-09
    • 2015-03-06
    • 1970-01-01
    相关资源
    最近更新 更多