Я пытаюсь запросить таблицу в хранилище Windows Azure и изначально использовал TableQuery.CombineFilters
в функции TableQuery<RecordEntity>().Where
следующим образом:
TableQuery.CombineFilters(
TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.GreaterThanOrEqual, lowDate),
TableOperators.And,
TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.LessThanOrEqual, lowDate),
TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.Equal, entityId)
));
К сожалению, CombineFilters допускает только 2 критерия запроса max. Поэтому я сейчас делаю это:
var tableQuery = new TableQuery<RecordRowEntity>()
.Where(TableQuery.CombineFilters("PartitionKey", string.Format("(PartitionKey ge '{0}') and (PartitionKey le '{1}') and (RowKey eq '{2}')", low, high, entityId));
Есть ли другой способ сделать это. Меня беспокоит то, что способ, которым я это делаю в настоящее время, уязвим для изменений в работе Azure Api.