我有一个名为medicalcase的实体
每个医疗案例都有一个子网格,N:N关系与一个名为mcfamily的实体
每个mcfamily都有父,母,子字段,这些字段是查找联系字段
现在,如果我进行webapi通话
http://serverurl/api/data/v8.0/new_medicalcase(caseid)?$expand=new_medcase_mcfamily
我得到new_father_value,但我想扩展父查找并获取联系人姓名。我该怎么办?
我试过
http://serverurl/api/data/v8.0/new_medicalcase(caseid)?$expand=new_medcase_mcfamily($expand=new_father($select=fullname))
但它说
导航属性无法展开。多级扩展 不受支持。
答案 0 :(得分:4)
您必须通过向父亲联系发出第二次请求来手动扩展。
如果您使用FetchXml查询发出请求,则应该能够通过一次调用进行双重扩展。 Here是一个如何通过WebAPI发送获取查询的示例(此处复制时间太长)。
更新以回复您的评论
这是一个fetch查询,可以在一次调用中检索所有父名。它假定以下逻辑名称:
<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="true">
<entity name="contact" >
<attribute name="fullname" />
<link-entity name="new_mcfamily" from="new_fatherid" to="contactid">
<link-entity name="new_medicalcase_new_mcfamily" from="new_mcfamilyid" to="new_mcfamilyid" intersect="true">
<link-entity name="new_medicalcase" from="new_medicalcaseid" to="new_medicalcaseid">
<filter>
<condition attribute="new_medicalcaseid" operator="eq" value="FAEEE5D8-D67C-E511-80E6-3863BB3CA578" />
</filter>
</link-entity>
</link-entity>
</link-entity>
</entity>
</fetch>
要使查询正常工作,请使用XrmToolbox附带的FetchXml Tester工具。在使其正常工作后,请参考我在答案前面的链接,使用WebAPI执行获取查询。