【问题标题】:OData Query with DateTimeOffset使用 DateTimeOffset 的 OData 查询
【发布时间】:2017-10-17 11:06:09
【问题描述】:

使用 LINQPad 查询 OData v2 服务器以查找最近修改过的记录并获得意外结果:

// Define a DateTimeOffset to test against
DateTimeOffset testDateTimeUTC = DateTimeOffset.UtcNow.AddMinutes(-180);

// Detect changes that have occurred since the test DateTimeOffset  
var changedRecords = EmpJob
.Where (e => e.lastModifiedDateTime >= testDateTimeUTC);

changedRecords.Dump();

生成查询字符串:

https://api10.successfactors.com/odata/v2/EmpJob()?$filter=lastModifiedDateTime ge datetimeoffset'2017-05-05T00:12:18.9383091Z'

我得到三个结果,一个是正确的,另外两个带有时间戳: 3/10/2016 1:01 AM +00:00 和 21/12/2016 1:37 AM +00:00 显然无效。

对我来说,这看起来像是服务器端问题,任何人都可以看到我遗漏的问题吗?

【问题讨论】:

    标签: linq odata datetimeoffset


    【解决方案1】:

    使用带有开始和结束日期的过滤器解决了这个问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多