私はSharepoint Online Siteに5000を超える項目を持つリストを持っています。リストには、5000の項目に達した前に、私はすべての項目を取得するには、次のスニペットを使用しました: c#複数のListItemCollectionを1つにまとめる
var camlquery = new CamlQuery();
camlquery.ViewXml = @"<View Scope='RecursiveAll'>
<ViewFields>
<FieldRef Name='OppId' />
</ViewFields>
<Query>
<QueryOptions>
<ViewAttributes Scope='Recursive' />
</QueryOptions>
</Query>
</View>";
ListItemCollection listItems = _currentList.GetItems(camlquery);
_clientContext.Load(listItems, items => items.Include(item => item["OppId"], item => item.Id));
_clientContext.ExecuteQuery();
は、今私は、私は5000個の以上のアイテムを持って、この厄介な状況になりました。通常これは問題ではありません。以前はPowerShellで結果をページングして管理しました。
この場合私はMicrosoft.SharePoint.Client.ListItemCollectionを使用しており、コレクションにはGetItems(camlquery)
のアイテムを追加しています。別の「ページ」から追加項目を追加しようとすると、機能しないようです。
アイテムをループしてListItemCollectionに追加しようとしました。しかし、追加機能や挿入機能はありません。
foreach (ListItem myListItem in listItems2)
{
listItems.Add(myListItem);
}
5000個以上のアイテムを含む1つのListItemCollectionを返す必要があります。