我有一个包含12000个项目的Sharepoint列表,我正在查询带有选项字段的列表(过滤器),结果项目是10100,但我收到以下错误。
禁止尝试操作,因为它超出了管理员强制执行的列表视图阈值。在管理员定义的下一个时间窗口中允许超出列表视图阈值的操作。
我知道这是因为中央管理员设置了最大阈值限制和资源限制限制。
问题是,如果我删除过滤器,它将检索所有12000个项目。 我也尝试使用索引选择字段,但我仍然得到相同的错误。
以下是我的代码:
List tList = clientContext.Web.Lists.GetByTitle("tests");
ListItemCollectionPosition titemPosition = null;
ListItemCollection tcollListItem;
CamlQuery tquery = new CamlQuery();
while (true)
{
tquery.ViewXml = "<View Scope='Recursive'><Query><Where><Eq>
<FieldRef Name='tType' /><Value Type='Choice'>first</Value>
</Eq></Where></Query> <RowLimit>500</Rowlimit></View>";
tquery.ListItemCollectionPosition = titemPosition;
tcollListItem = tList.GetItems(tquery);
clientContext.Load(tcollListItem);
clientContext.ExecuteQuery();
titemPosition = tcollListItem.ListItemCollectionPosition;
if (titemPosition == null)
{
break;
}
}