Я округляю текущую дату UT C до ближайшей минуты и преобразую ее в тики, чтобы сохранить результат как PartitionKey
в Azure Табличном хранилище. Я хотел бы выполнить запрос диапазона, чтобы получить определенные c диапазоны ключей раздела в коде. Я использую C#, но явно нижеуказанные операции LINQ не поддерживаются.
var tableQuery = cloudTable.CreateQuery<Log>().Where(x => long.Parse(x.PartitionKey) <= ticks);
throws
System.NotSupportedException: 'The expression (Parse([10007].PartitionKey) <= 637224147600000000) is not supported.'
Я также пытался String.Compare()
, но это не так работать тоже. Итак, как мне написать отфильтрованный запрос в C#, чтобы получить записи меньше или равные заданным тикам? Обратите внимание, что ключ раздела выбирается таким образом, чтобы записи могли естественно сортироваться в порядке убывания времени.