We have code like this:
List list = clientContext.Web.Lists.GetByTitle("TestLib"); ListItemCollection items = list.GetItems(query); clientContext.Load(items, its => its.Where(i => i.HasUniqueRoleAssignments).Include(i => i.Folder.Name, i => i.Folder.ServerRelativeUrl)); clientContext.ExecuteQuery();
Important part is using "Where" with which we want to get only items with broken permissions inheritance. Query and included fields are not important right now. Question is: how does this actually works? Are items filtered on server side and we'll receive just the items we need or in background CSOM will load all items from SP server and executes LINQs "Where" on client side? While we are dealing with quite big amount of data, it is important to know. If the second option is true, is there some other way? Thanks.