Sharepoint — метод LoadQuery в CSOM не поддерживает .Skip()C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Sharepoint — метод LoadQuery в CSOM не поддерживает .Skip()

Сообщение Anonymous »

во время работы над консольным приложением (net framework 4.7.2). Я использую CSOM для подключения к SP, а затем получаю некоторые данные, но у меня возникают проблемы с сообщением об ошибке:

Microsoft.SharePoint.Client.InvalidQueryExpressionException: 'Выражение запроса 'value(Microsoft.SharePoint.Client.ListCollection).Where(list => ((list.BaseTemplate == 101) AndAlso (list.Hidden == False))).OrderBy(list => list.Id ).Include(new [] {list => list.Title, list => list.RootFolder.Name}).Take(100).Skip(0)' не поддерживается.'
< /blockquote>
Похоже, проблема в запросе, а именно в .Skip. Если я удалю пропуск из запроса, ошибки больше не будет.
Вот код:

Код: Выделить всё

        try
{
int batchSize = 100;
int currentBatch = 0;
bool hasMoreLibraries = true;
var allDocumentLibraries = new List();

while (hasMoreLibraries)
{
var documentLibraries = context.LoadQuery(context.Web.Lists
.Where(list => list.BaseTemplate == (int)ListTemplateType.DocumentLibrary
&& list.Hidden == false)
.OrderBy(list => list.Id)
.Include(list => list.Title, list => list.RootFolder.Name)
.Take(batchSize)
.Skip(currentBatch * batchSize)
);

context.ExecuteQuery();
allDocumentLibraries.AddRange(documentLibraries);

if (documentLibraries.Count() < batchSize)
{
hasMoreLibraries = false;
}

foreach (var library in documentLibraries)
{
//do smt
}

currentBatch++;
}

return allDocumentLibraries;
}
catch (Exception ex)
{
Console.WriteLine(ex);
return null;
}
Может кто-нибудь сказать мне, в чем здесь проблема? Почему .skip не распознается? Что я делаю неправильно? Есть ли другой (лучший) подход?
Спасибо за ответы.

Подробнее здесь: https://stackoverflow.com/questions/790 ... t-the-skip
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»