如何检索实体的单值导航属性?

问题描述 投票:0回答:1

我想更新指定实体的父关系。问题是当我查询N:1引用时,我得到的引用属性并不总是单值导航属性。我不知道如何区分引用帐户或联系实体的parentcustomerid属性。所以问题是:我如何正确地为我的指定实体获取单值导航属性,以便能够使用对身体的PATCH api/data/v9.0/contacts({id})请求更新它:

{“单值导航[email protected]”:“/ {accounts或contacts}({id})”}

dynamics-crm dynamics-365 dynamics-crm-365 dynamics-crm-webapi
1个回答
1
投票

创建HTTP请求时,请在您的HTTP请求标头中添加首选项:odata.include-annotations =“*”。这样,响应不仅具有带有Id的_ [Field Name] _value字段,而且还具有_ [Field Name] [email protected],其中包含您查找的逻辑名称。

这是一个请求的响应示例,该请求在没有标头的情况下查询特定联系人的parentcustomerid:

{
"@odata.context": "https://[Organization URI]/api/data/v9.0/$metadata#contacts(_parentcustomerid_value)",
"value": [
    {
        "_parentcustomerid_value": "bdeb86af-7e1c-e811-a837-000d3ac085f9",
        "contactid": "b050f3bb-dbf7-e811-a98a-000d3ac02bae"
    }
]

}

这是添加标头的同一请求的响应示例:

{
"@odata.context": "https://[Organization URI]/api/data/v9.0/$metadata#contacts(_parentcustomerid_value)",
"value": [
    {
       "_parentcustomerid_value@Microsoft.Dynamics.CRM.associatednavigationproperty": "parentcustomerid_account",
        "[email protected]": "account",
        "_parentcustomerid_value": "bdeb86af-7e1c-e811-a837-000d3ac085f9",
        "contactid": "b050f3bb-dbf7-e811-a98a-000d3ac02bae"
    }
]

}

© www.soinside.com 2019 - 2024. All rights reserved.