public DatastoreResults <T> NaiveQueryApply() { DatastoreResults <T> qr = this; if (!string.IsNullOrEmpty(DatastoreQuery.Prefix)) { qr = qr.NaiveFilter(QueryFilter <T> .ByKeyPrefix(DatastoreQuery.Prefix)); } foreach (var filter in DatastoreQuery.QueryFilters) { qr = qr.NaiveFilter(filter); } foreach (var order in DatastoreQuery.QueryOrders) { qr = qr.NaiveOrder(order); } if (DatastoreQuery.Offset != 0) { qr = qr.NaiveOffset(DatastoreQuery.Offset); } if (DatastoreQuery.Limit != 0) { qr = qr.NaiveLimit(DatastoreQuery.Limit); } return(qr); }
public static DatastoreResults <T> ReplaceQuery(DatastoreResults <T> r, DatastoreQuery <T> q) => new DatastoreResults <T>(q, r.Cancellation, r.Next());