【发布时间】:2011-03-15 05:48:30
【问题描述】:
基本上我有一个返回 3000 多个结果的 QueryExpression。我只需要使用其中的 50 到 200 个。如果我使用的是普通 sql,我可以使用 SELECT TOP 200 ..... 有没有办法在 CRM 中使用 QueryExpression 或 FetchXML 做到这一点?
【问题讨论】:
标签: dynamics-crm fetchxml
基本上我有一个返回 3000 多个结果的 QueryExpression。我只需要使用其中的 50 到 200 个。如果我使用的是普通 sql,我可以使用 SELECT TOP 200 ..... 有没有办法在 CRM 中使用 QueryExpression 或 FetchXML 做到这一点?
【问题讨论】:
标签: dynamics-crm fetchxml
在查询表达式中:
QueryExpression query = new QueryExpression();
query.PageInfo = new PagingInfo();
query.PageInfo.Count = 200; // or 50, or whatever
query.PageInfo.PageNumber = 1;
在获取 XML 中:
<fetch mapping='logical' page='1' count='200'>
...
【讨论】:
@Matt 基本上说的都对。 这篇文章扩展了他的回答。
您本质上想要做的是使用 QueryExpression 的 PageInfo 属性。 这样您就可以限制结果,或者甚至更好地获取超过 5000 行(默认限制)。 PageInfo 用作分页指示器。一个页面有多少行,有多少页,最重要的是,PagingCookie 用于递归读取更多数据(超过 5k 行) https://msdn.microsoft.com/en-us/library/mt269606.aspx
【讨论】: