public TableQuery CreateTableQuery(string partitionId, string scope) { BalanceLocator from = From ?? new UnconfirmedBalanceLocator(); BalanceLocator to = To ?? new ConfirmedBalanceLocator(0); var toIncluded = ToIncluded; var fromIncluded = FromIncluded; //Fix automatically if wrong order if (!from.IsGreaterThan(to)) { var temp = to; var temp2 = toIncluded; to = from; toIncluded = FromIncluded; from = temp; fromIncluded = temp2; } //// //Complete the balance locator is partial from = fromIncluded ? from.Floor() : from.Ceil(); to = toIncluded ? to.Ceil() : to.Floor(); ///// return(new TableQuery() { FilterString = TableQuery.CombineFilters( TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.Equal, partitionId), TableOperators.And, TableQuery.CombineFilters( TableQuery.GenerateFilterCondition("RowKey", fromIncluded ? QueryComparisons.GreaterThanOrEqual : QueryComparisons.GreaterThan, scope + "-" + from.ToString(true)), TableOperators.And, TableQuery.GenerateFilterCondition("RowKey", toIncluded ? QueryComparisons.LessThanOrEqual : QueryComparisons.LessThan, scope + "-" + to.ToString(true)) )) }); }