Я пытаюсь отобразить записи в таблице хранения Azure на основе их полей «Время», которые являются объектами DateTime
. Тем не менее, мне не повезло, когда я пытаюсь выполнить запрос на основе DateTime
.Azure Storage Table query by DateTime не возвращает никаких результатов
Я попробовал различные условия, как:
- времени = g.Time
- time.Equals (g.Time)
- time.Ticks == g.Time.Ticks
- времени. ToString() == g.Time.ToString()
time.ToString(). Равно (g.Time.ToString())
DateTime time = Convert.ToDateTime(timePoint); TableServiceContext tableServiceContext = tableClient.GetDataServiceContext(); var query = from g in tableServiceContext.CreateQuery<MyEntry>(tableName) where time.Ticks == g.Time.Ticks select g;
Успешно отображены записи на основе другого поля string
, но теперь, когда я хочу использовать DateTime
, он работает неправильно.
Нужно ли обрабатывать DateTime
объектов по-разному? Есть ли хороший способ сделать это?
Спасибо!
Редактировать: Я проверил, что время равно хотя бы одной записи, когда я создаю записи, которые нужно положить в таблицу.
Я думаю, что клавиша rowkey и partition - это простое строковое значение, и только сравнение строк может работать. Другие сравнения просто используют ToString() для сравнения. – Chandermani