2016-11-28 40 views
0

我們希望過濾標準以獲取當天或今天的所有數據。我們正在嘗試下面的代碼,但是我們遇到了錯誤。請提供完整的解決方案。如何查找WCF Odata過濾器當天的所有數據

$filter=ServiceCallID eq 425977 and DateCreated eq '11/28/2016 12:45:25 PM' 

錯誤是「操作員‘當量’與操作數類型的‘System.DateTime的’和‘System.String’在40位不兼容的」 而我們正在使用odata的v2版本。

+0

你得到了什麼錯誤?你使用的是哪個版本的OData? – smoksnes

+0

運算符'eq'與位置40處的操作數類型'System.DateTime'和'System.String'不兼容。並且我們使用的是odata的v2版本。 – user4667380

回答

0

我相信你需要將參數定義爲DateTime。由於.NET將您的參數解釋爲string,因此會出現錯誤,但類型爲DateTime

odata.org

datetime'yyyy毫米DDTHH:毫米[:SS [.fffffff]]」注:不允許空格datetime和引述部分之間 。日期時間是不區分大小寫

試試這個:

$filter=ServiceCallID eq 425977 and DateCreated eq datetime'2016-11-18T12:45:25' 

請注意,我也改變了格式YYYY-MM-dd。根據您今天的定義,您可能還需要將eq更改爲gtlt

所以你的最終解決方案可能是greater or equal to 2016-11-18。和less than 2016-11-19。它應該在2016-11-18期間提供所有項目。

$filter=ServiceCallID eq 425977 and DateCreated ge datetime'2016-11-18' and DateCreated lt datetime'2016-11-19'