crm webapi中的多级扩展
multiple level of expansion in crm webapi
我有一个名为 medicalcase 的实体
每个医疗案例都有一个子网格,N:N 与名为 mcfamily 的实体的关系
每个 mcfamily 都有 Father、Mother、Child 字段,这些字段是查找联系人字段
现在如果我调用 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))
但是它说
navigation property can't be expanded. Multiple levels of expansion
aren't supported.
您必须通过再次请求父亲联系人来手动扩展。
如果您使用 FetchXml 查询发出请求,您应该能够通过一次调用进行双重扩展。 Here 是如何通过 WebAPI 发送提取查询的示例(太长,无法在此处复制)。
更新以回应您的评论
这是一个提取查询,可以在一次调用中检索您所有父亲的姓名。它采用以下逻辑名称:
- 医疗案例实体:new_medicalcase
- mcfamily 实体:new_mcfamily
- 查找父亲联系方式:new_fatherid
- N:N 实体:new_medicalcase_new_mcfamily
<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 工具。使其正常工作后,请参考我之前回答中的 link 以使用 WebAPI 执行提取查询。
我有一个名为 medicalcase 的实体
每个医疗案例都有一个子网格,N:N 与名为 mcfamily 的实体的关系
每个 mcfamily 都有 Father、Mother、Child 字段,这些字段是查找联系人字段
现在如果我调用 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))
但是它说
navigation property can't be expanded. Multiple levels of expansion aren't supported.
您必须通过再次请求父亲联系人来手动扩展。
如果您使用 FetchXml 查询发出请求,您应该能够通过一次调用进行双重扩展。 Here 是如何通过 WebAPI 发送提取查询的示例(太长,无法在此处复制)。
更新以回应您的评论
这是一个提取查询,可以在一次调用中检索您所有父亲的姓名。它采用以下逻辑名称:
- 医疗案例实体:new_medicalcase
- mcfamily 实体:new_mcfamily
- 查找父亲联系方式:new_fatherid
- N:N 实体:new_medicalcase_new_mcfamily
<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 工具。使其正常工作后,请参考我之前回答中的 link 以使用 WebAPI 执行提取查询。