I have the following code inside our console application, to loop through a list of number and query the SharePoint list which is inside a modern communication site:
foreach (var r in allrequests.requests)
{
Console.WriteLine("Entered foreach ");
Console.WriteLine("RequestID= "+ r.id);
CamlQuery camlQuery2 = new CamlQuery();
Console.WriteLine("CAML initiaited" + r.id);
r.id = "1";
camlQuery2.ViewXml = "<View><Query><Where><Eq><FieldRef Name='RiskRequestIDNew'/><Value Type='Text'>" + r.id + "</Value></Eq></Where></Query></View>";
Console.WriteLine("CAML ViewXML" + r.id);
ListItemCollection oListItems2 = context.Site.RootWeb.GetList(RisksiteUrl + "Lists/RiskManagement/").GetItems(camlQuery2);
Console.WriteLine("CAML GetItems" + r.id);
context.Load(oListItems2);
Console.WriteLine("Context load" + r.id);
context.ExecuteQuery();
Console.WriteLine("execute second CAML");
Now when the code reach context.ExecuteQuery();
it will raise this error:
Specified argument was out of the range of valid values.Parameter name: index
context.ExecuteQuery();
afterforeach
loop.List oList = context.Site.RootWeb.Lists.GetByTitle("RiskManagement");
Then get list items fromListItemCollection oListItems2 = oList.GetItems(camlQuery2);