带 DateTimeOffset 的 OData 查询

OData Query with DateTimeOffset

使用 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 显然无效。

对我来说,这看起来像是服务器端问题,有人能看到我遗漏的问题吗?

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