小编Kar*_*dox的帖子

DocumentDB如何在_TS上查询LINQ?

我想查询文档上的更新时间戳_ts以获取自一段时间以来未发生变异的文档.

当我在azure门户中创建选择查询时,这可以:

SELECT TOP 10 c.id FROM c WHERE c._ts < 6.35909919217878E+17
Run Code Online (Sandbox Code Playgroud)

奇数是使用datetime对象创建的Ticks,见下文.

但是当我尝试通过LINQ创建它时,它不会这样做,因为你没有_ts而是将Timestamp作为DateTime对象.当我尝试输入一个完整的DateTime对象来与Timestamp进行比较时,它会崩溃,说它不支持它.所以我试试这个:

DocRepo.Get(x => x.Timestamp.Ticks < CloseDate.Ticks);
Run Code Online (Sandbox Code Playgroud)

这导致什么都没有,当我看到执行的查询时,它将此作为选择查询:

SELECT * FROM root WHERE root[\"_ts\"][\"Ticks\"] < 6.35909943137688E+17
Run Code Online (Sandbox Code Playgroud)

是否可以查询_ts时间戳或者我必须有一个额外的updatedAt字段来执行它,这似乎是多余的.

c# linq datetime azure azure-cosmosdb

3
推荐指数
1
解决办法
2689
查看次数

标签 统计

azure ×1

azure-cosmosdb ×1

c# ×1

datetime ×1

linq ×1