C# 基于链接实体的FetchXML排序结果和分页';s属性

C# 基于链接实体的FetchXML排序结果和分页';s属性,c#,dynamics-crm,fetchxml,C#,Dynamics Crm,Fetchxml,我正在编写一个FetchXML查询来检索要在表中显示的人员列表。此表应该能够提供对所有列的搜索、分页和排序。这里的问题是person实体将父实体作为链接实体,父实体的“firstName”已经是我当前构建的表中的一列。我需要一个查询,使我能够检索按父亲的“名字”排序的结果,根据相同的属性过滤结果,并应用分页(跳过和执行),而不必获取所有行,然后应用过滤。 到目前为止,我尝试的是从这篇文章中提到的方法中得到的所有可能的东西: 不幸的是,没有工作。有什么建议吗?我猜你会有这样一个问题(尽管这是简化

我正在编写一个FetchXML查询来检索要在表中显示的人员列表。此表应该能够提供对所有列的搜索、分页和排序。这里的问题是person实体将父实体作为链接实体,父实体的“firstName”已经是我当前构建的表中的一列。我需要一个查询,使我能够检索按父亲的“名字”排序的结果,根据相同的属性过滤结果,并应用分页(跳过和执行),而不必获取所有行,然后应用过滤。 到目前为止,我尝试的是从这篇文章中提到的方法中得到的所有可能的东西:


不幸的是,没有工作。有什么建议吗?

我猜你会有这样一个问题(尽管这是简化的):


过滤条件可以如上所述使用链接实体的别名应用到父级,或者在链接实体元素下添加过滤器/条件

在本例中,在link entity下添加的order元素可以有效地指定,但是它似乎没有任何效果


因此,为了能够根据链接实体的信息进行排序,您必须在客户端执行此操作。

在哪里显示此表?网络,winform,xamarin。。。?解决方案很可能取决于您尝试完成此任务的平台。尽管我没有找到任何与我应该在其上显示表格的平台相关的内容,但它是一个Angular 5应用程序。也许我应该提供更多细节。有一个基于C#的REST API,它为Angular 5 web应用程序提供数据。例如,链接实体中的order元素没有任何效果。不幸的是,在客户端进行排序是不可能的,因为在这种情况下,我必须获得所有结果才能对它们进行排序,这是一个巨大的数据量。还有其他有用的想法吗?我看到的唯一其他选择是在联系人实体上重载父姓的痛苦方法…:(在自定义活动中注册插件或工作流,以便在更改名字时将名字推送到子级,并在更改父级时注册工作流以更新重载字段。
<fetch count='50' returntotalrecordcount='true' page='2' >
  <entity name='contact' >
    <attribute name='firstname' />
    <attribute name='lastname' />
    <filter>
      <condition entityname='father' attribute='firstname' operator='like' value='Jonas%' />
    </filter>
    <link-entity name='contact' from='parentcustomerid' to='contactid' alias='father' >
      <attribute name='firstname' />
      <order attribute='firstname' />
    </link-entity>
  </entity>
</fetch>