5

WCF Data Servicesを使用すると、URLのオプションを介してデータのクエリとフィルタリングを簡単に行うことができます。たとえば、価格が20を超える製品が必要だとします。

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

しかし、どうすれば$filterオプションを使用できます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'

その他の日時関数は、odataURL規則のこのリファレンスにあります。

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は、日時に基づいてnetflixodataフィードをフィルタリングする方法を示しています。

于 2012-05-30T22:56:11.097 に答える