I am new to SharePoint and want to delete all rows in a SharePoint list using C# ClientContext class and CAML Query.
How can i achieve it efficiently?
I am new to SharePoint and want to delete all rows in a SharePoint list using C# ClientContext class and CAML Query.
How can i achieve it efficiently?
I solved it. The learning was that we need to delete the items of list in reverse order.
Link: 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");
}
}
if (counter % 100 == 0){ clientContext.ExecuteQuery(); }
–
Vannessavanni Another workaround: - Create a items (said: deleteAllItems), on a new list (said: configuration).
Use CAML to change that deleteAllItems value from False to True.
then, use workflow,
if deleteAllItems == True, delete all items.
reset deleteAllItems to False.
Solve the client side performance issue. :)
© 2022 - 2024 — McMap. All rights reserved.