11

私は SharePoint を初めて使用し、C# ClientContextクラスとCAML Queryを使用して SharePoint リストのすべての行を削除したいと考えています。

どうすれば効率的に達成できますか?

4

2 に答える 2

17

私はそれを解決しました。学んだことは、リストの項目を逆の順序で削除する必要があるということでした。

リンク: 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");
    }
}
于 2013-04-16T13:20:25.357 に答える