如何检索实体的单值导航属性?
How to retrieve single-valued navigation properties for an entity?
我想更新指定实体的父关系。问题是当我查询 N:1 引用时,我得到的引用属性并不总是单值导航 属性。我不知道如何区分引用帐户或联系人实体的属性 parentcustomerid
。所以问题是:我怎样才能正确地为我指定的实体获得单值导航 属性 以便能够使用对 PATCH api/data/v9.0/contacts({id})
的请求更新它与 body:
{"single-valued navigation property@odata.bind" :
"/{accounts or contacts}({id})"}
创建 HTTP 请求时,将 Prefer: odata.include-annotations="*" 添加到您的 HTTP 请求 Headers。这样,响应不仅会有一个带有 Id 的 _[Field Name]_value 字段,还有一个 _[Field Name]_value@Microsoft.Dynamics.CRM.lookuplogicalname 与您查找的逻辑名称。
这是查询特定联系人的 parentcustomerid 的请求的响应示例,没有 header:
{
"@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"
}
]
}
这是对添加了 header 的同一请求的响应示例:
{
"@odata.context": "https://[Organization URI]/api/data/v9.0/$metadata#contacts(_parentcustomerid_value)",
"value": [
{
"_parentcustomerid_value@Microsoft.Dynamics.CRM.associatednavigationproperty": "parentcustomerid_account",
"_parentcustomerid_value@Microsoft.Dynamics.CRM.lookuplogicalname": "account",
"_parentcustomerid_value": "bdeb86af-7e1c-e811-a837-000d3ac085f9",
"contactid": "b050f3bb-dbf7-e811-a98a-000d3ac02bae"
}
]
}
我想更新指定实体的父关系。问题是当我查询 N:1 引用时,我得到的引用属性并不总是单值导航 属性。我不知道如何区分引用帐户或联系人实体的属性 parentcustomerid
。所以问题是:我怎样才能正确地为我指定的实体获得单值导航 属性 以便能够使用对 PATCH api/data/v9.0/contacts({id})
的请求更新它与 body:
{"single-valued navigation property@odata.bind" : "/{accounts or contacts}({id})"}
创建 HTTP 请求时,将 Prefer: odata.include-annotations="*" 添加到您的 HTTP 请求 Headers。这样,响应不仅会有一个带有 Id 的 _[Field Name]_value 字段,还有一个 _[Field Name]_value@Microsoft.Dynamics.CRM.lookuplogicalname 与您查找的逻辑名称。
这是查询特定联系人的 parentcustomerid 的请求的响应示例,没有 header:
{
"@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"
}
]
}
这是对添加了 header 的同一请求的响应示例:
{
"@odata.context": "https://[Organization URI]/api/data/v9.0/$metadata#contacts(_parentcustomerid_value)",
"value": [
{
"_parentcustomerid_value@Microsoft.Dynamics.CRM.associatednavigationproperty": "parentcustomerid_account",
"_parentcustomerid_value@Microsoft.Dynamics.CRM.lookuplogicalname": "account",
"_parentcustomerid_value": "bdeb86af-7e1c-e811-a837-000d3ac085f9",
"contactid": "b050f3bb-dbf7-e811-a98a-000d3ac02bae"
}
]
}