Basically I have a QueryExpression that returns over 3000 results. I only need to use between 50 and 200 of these. If I was using normal sql I could use SELECT TOP 200..... Is there a way to do this in CRM using the QueryExpression or FetchXML?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
In a QueryExpression:
QueryExpression query = new QueryExpression();
query.PageInfo = new PagingInfo();
query.PageInfo.Count = 200; // or 50, or whatever
query.PageInfo.PageNumber = 1;
In Fetch XML:
<fetch mapping='logical' page='1' count='200'>
...
回答2:
@Matt basically said everything right. This article expands on his answer.
What you essentially want to do is use PageInfo prop of QueryExpression. That way you can limit the results, or, even better fetch more than 5000 rows (default limit). PageInfo is used as a paging indicator. How many rows does a page have, how many pages and most important, PagingCookie used for recursive read of more data (more than 5k rows) https://msdn.microsoft.com/en-us/library/mt269606.aspx