为什么集合值导航属性 return 空列表和对 CRM 2016 WEB 中实际数据的引用 link API

Why Collection-valued navigation properties return empty list and a reference link to the actual data in CRM 2016 WEB API

我不知道为什么集合值导航属性总是 return 引用实际数据的空列表 link。

这是我试过的查询:

GET <organization>/api/data/v8.0/new_subjectareas?$expand=new_product_new_subjectarea&$count=true

回复:

{
"@odata.context":"<organization>/api/data/v8.0/$metadata#new_subjectareas",
"@odata.count":150,
"value":[
{
"@odata.etag":"W/\"9644599\"",
"timezoneruleversionnumber":null,
"processid":null,
"_stageid_value":null,
"new_product_new_subjectarea":[],
"new_product_new_subjectarea@odata.nextLink":"<organization>/api/data/v8.0/new_subjectareas(622bcca9-8946-e511-80fb-00155d002810)/new_product_new_subjectarea"
},
....

如何在不对其引用发出新请求的情况下获取导航 属性 (new_product_new_subjectarea) 中的项目 (new_product_new_subjectarea@odata.nextLink)?

看来您正在返回许多实体。

来源:https://msdn.microsoft.com/en-us/library/gg334767.aspx#bkmk_limits

您看到的行为是 "by design"(即使有人会争辩说这个特定的设计选择是有问题的)。

当您展开 collection-valued 导航 属性 时,您将始终得到一个空数组加上 [relation name]@odata.nextLink 属性。如果不发出额外的请求,目前无法获取实际的关系行。

来源:the example in the official documentation.