2

我正在尝试使用 Table API 从 CosmosDb 获取一组在给定日期范围内带有时间戳的结果。

这就是我构建查询的方式:

        var from = TableQuery.GenerateFilterConditionForDate("Timestamp", QueryComparisons.GreaterThanOrEqual,
            new DateTimeOffset(2018, 2, 15, 15, 2, 45, TimeSpan.Zero));

        var to = TableQuery.GenerateFilterConditionForDate("Timestamp", QueryComparisons.LessThan,
            new DateTimeOffset(2018, 2, 15, 15, 3, 45, TimeSpan.Zero));

        return new TableQuery<Audit>()
            .Where(
                TableQuery.CombineFilters(from, TableOperators.And, to));

但是,当我运行此查询时,我得到以下类型的异常InvalidFilterException

ODataException:在 '(Timestamp ge datetime'2018-02-15T15:02:45.0000000Z') 和 (Timestamp ge 日期时间'2018-02-15T15:03:45.0000000Z')'。

谁能帮我理解这意味着什么?难道我做错了什么?

4

1 回答 1

3

谁能帮我理解这意味着什么?难道我做错了什么?

我也可以使用Microsoft.Azure.CosmosDB.Table 版本1.0.0 来重现这一点。

如果我将 Microsoft.Azure.CosmosDB.Table 版本更新为 1.1.0 则无一例外,筛选结果计数始终等于 0。

现在似乎不支持使用时间戳进行过滤。您也可以向 Azure 团队提供反馈。

于 2018-02-20T09:05:21.950 回答