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); }
public StreamEntity(Partition partition, string etag, int version, StreamProperties properties) { Partition = partition; PartitionKey = partition.PartitionKey; RowKey = partition.StreamRowKey(); ETag = etag; Version = version; Properties = properties; }
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)); }
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)); }
TableOperation Prepare() => TableOperation.Retrieve <StreamEntity>(partition.PartitionKey, partition.StreamRowKey());