Можно ли ограничить количество результатов, возвращаемых в ответе при использовании QueryExpression в CRM 4 - PullRequest
8 голосов
/ 13 июля 2010

В основном у меня есть QueryExpression, который возвращает более 3000 результатов. Мне нужно использовать только от 50 до 200 из них. Если бы я использовал обычный sql, я мог бы использовать SELECT TOP 200 ..... Есть ли способ сделать это в CRM, используя QueryExpression или FetchXML?

Ответы [ 2 ]

19 голосов
/ 13 июля 2010

В выражении запроса:

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'>
...
0 голосов
/ 31 августа 2018

@ Мэтт в основном все сказал правильно. Эта статья расширяет его ответ.

То, что вы по сути хотите сделать, это использовать PageInfo для QueryExpression. Таким образом, вы можете ограничить результаты или, что еще лучше, выбрать более 5000 строк (ограничение по умолчанию). PageInfo используется в качестве индикатора пейджинга. Сколько строк содержит страница, сколько страниц и что наиболее важно, PagingCookie используется для рекурсивного чтения большего количества данных (более 5 тысяч строк) https://msdn.microsoft.com/en-us/library/mt269606.aspx

...