Is it possible to limit the amount of results retu

2019-01-27 20:14发布

问题:

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