使用客户端上下文和CAML查询删除sharepoint列表中的所有行



我是SharePoint的新手,希望使用c# ClientContext类和CAML Query删除SharePoint列表中的所有行。

我怎样才能有效地实现它?

我解决了。我们学到的是,我们需要按倒序删除list中的项。

: http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.splistitemcollection.delete.aspx

ListItemCollection listItems = oList.GetItems(CamlQuery.CreateAllItemsQuery());
clientContext.Load(listItems,
                    eachItem => eachItem.Include(
                    item => item,
                    item => item["ID"]));
clientContext.ExecuteQuery();
var totalListItems = listItems.Count;
Console.WriteLine("Deletion in " + currentListName + "list:");
if (totalListItems > 0)
{
    for (var counter = totalListItems - 1; counter > -1; counter--)
    {
        listItems[counter].DeleteObject();
        clientContext.ExecuteQuery();
        Console.WriteLine("Row: " + counter + " Item Deleted");
    }
}

另一个解决方法:-创建一个项目(说:deleteAllItems),在一个新的列表(说:configuration)。

  • 使用CAML将deleteAllItems值从False更改为True

  • 然后,使用工作流,

    如果deleteAllItems == True,删除所有项目

    reset deleteAllItems为False。

解决客户端性能问题。:)

相关内容

  • 没有找到相关文章

最新更新