Some datastores support pagination only through an SQL postfix clause; in these cases, the PostfixClause property should be used in conjunction with RowCount
.
In FSDB, if ObjectIDs property is set, the RowCount value will be ignored for the better performance.
public void QueryFilterWithPagination(Table table, List<long> objectIDs) { int rowsPerBatch = 100; int offset = 0; // Query filter // Some datastores support pagination only through an SQL postfix clause QueryFilter queryFilter = new QueryFilter() { ObjectIDs = objectIDs, PostfixClause = "ORDER BY OBJECTID" }; // Fetch rows in a batch from a table for (int index = offset; index <= objectIDs.Count; index += rowsPerBatch) { // Set number of rows to return from a table queryFilter.RowCount = rowsPerBatch; // Set positional offset to skip number of rows from a table queryFilter.Offset = index; using (RowCursor cursor = table.Search(queryFilter)) { while (cursor.MoveNext()) { using (Row row = cursor.Current) { Console.WriteLine(row.GetObjectID()); } } } } }
Target Platforms: Windows 11, Windows 10