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))
                            ))
            });
        }