我目前在我的應用程序中使用第三方網格控件,它使用odata來執行服務器端過濾。當我填入搜索框時,過濾器字符串應用於所有字段並僅返回匹配的字符串。微軟OData C#WebApi過濾或鑄造Int到字符串
我有兩個字段,我正在顯示,一個整數ID字段和一個字符串名稱字段。當應用所述過濾器,ODATA提供一個包含濾波器的ODataQueryOptions數據類型:
(substringof( '24',tolower的(Id)的))或(substringof( '24',tolower的(名稱)))
預期結果是返回名稱字段中Id或24中具有24的任何記錄。
相反,這會導致異常。異常是由於Id是一個Int字段而引起的,字符串函數tolower和substring沒有在整數字段上實現。
演員似乎並沒有被執行,所以我不能簡單地轉換爲int到一個字符串。
這個問題對許多其他人來說肯定是個問題。那麼其他人如何解決這個問題呢?
(據的NuGet,我使用Microsoft.Data.OData的v5.8.2,並且Microsoft.AspNet.Webapi.OData的V5.7.0。我的項目是.NET框架4.5.2)