Example #1
0
            TableQuery <DynamicTableEntity> PrepareQuery()
            {
                var rowKeyStart = partition.EventVersionRowKey(startVersion);
                var rowKeyEnd   = partition.EventVersionRowKey(startVersion + sliceSize - 1);

                // ReSharper disable StringCompareToIsCultureSpecific

                var query = table
                            .CreateQuery <DynamicTableEntity>()
                            .Where(x =>
                                   x.PartitionKey == partition.PartitionKey &&
                                   (x.RowKey == partition.StreamRowKey() ||
                                    (x.RowKey.CompareTo(rowKeyStart) >= 0 &&
                                     x.RowKey.CompareTo(rowKeyEnd) <= 0)));

                return((TableQuery <DynamicTableEntity>)query);
            }
Example #2
0
 public StreamEntity(Partition partition, string etag, int version, StreamProperties properties)
 {
     Partition    = partition;
     PartitionKey = partition.PartitionKey;
     RowKey       = partition.StreamRowKey();
     ETag         = etag;
     Version      = version;
     Properties   = properties;
 }
Example #3
0
            TableQuery <DynamicTableEntity> StreamRowQuery()
            {
                var filter = TableQuery.CombineFilters(
                    TableQuery.GenerateFilterCondition(nameof(DynamicTableEntity.PartitionKey), QueryComparisons.Equal, partition.PartitionKey),
                    TableOperators.And,
                    TableQuery.GenerateFilterCondition(nameof(DynamicTableEntity.RowKey), QueryComparisons.Equal, partition.StreamRowKey())
                    );

                return(new TableQuery <DynamicTableEntity>().Where(filter));
            }
Example #4
0
            TableQuery <DynamicTableEntity> PrepareQuery()
            {
                var rowKeyStart = partition.EventVersionRowKey(startVersion);
                var rowKeyEnd   = partition.EventVersionRowKey(startVersion + sliceSize - 1);

                var filter = TableQuery.CombineFilters(
                    TableQuery.GenerateFilterCondition(nameof(DynamicTableEntity.PartitionKey), QueryComparisons.Equal, partition.PartitionKey),
                    TableOperators.And,
                    TableQuery.CombineFilters(
                        TableQuery.GenerateFilterCondition(nameof(DynamicTableEntity.RowKey), QueryComparisons.Equal, partition.StreamRowKey()),
                        TableOperators.Or,
                        TableQuery.CombineFilters(
                            TableQuery.GenerateFilterCondition(nameof(DynamicTableEntity.RowKey), QueryComparisons.GreaterThanOrEqual, rowKeyStart),
                            TableOperators.And,
                            TableQuery.GenerateFilterCondition(nameof(DynamicTableEntity.RowKey), QueryComparisons.LessThanOrEqual, rowKeyEnd)
                            )
                        )
                    );

                return(new TableQuery <DynamicTableEntity>().Where(filter));
            }
Example #5
0
 TableOperation Prepare() => TableOperation.Retrieve <StreamEntity>(partition.PartitionKey, partition.StreamRowKey());