5

WCF 数据服务允许通过 URL 中的选项方便地查询和过滤数据。例如,假设我想要价格大于 20 的产品:

http://www.example.com/Service.svc/Products ?$filter=价格 gt 20

但是如何使用$filter带有 a 的选项DateTime?假设我想要本月已修改的所有产品。

http://www.example.com/Service.svc/Products ?$filter=ModifiedDate gt '2012-05-02'

这对我不起作用;它给出了错误信息

运算符“gt”与位置 13 处的操作数类型“System.DateTime”和“System.String”不兼容。

我对其他比较运算符(ge、lt、le、eq)也有同样的看法。到底是怎么回事?我该如何进行这项工作?我需要某种 DateTime 格式吗?我在上面尝试的内容似乎记录在这里

4

2 回答 2

9

您好尝试使用以下语法

$filter=ModifiedDate gt datetime'2012-05-02T00:00:00'

其他日期时间函数可以在此参考中找到 odata url 约定

URI 约定:

http://msdn.microsoft.com/en-us/library/dd728283.aspx

于 2012-05-30T22:54:16.700 回答
3

对于 oData 提要中的 DateTime 过滤,使用 DateTime 前缀限定 datetime 变量。

   http://odata.netflix.com/v2/Catalog/Titles?$filter=DateModified eq DateTime'2012-01-31T09:45:16'

上面的 url 显示了如何根据日期时间过滤 netflix odata 提要。

于 2012-05-30T22:56:11.097 回答