2017-06-06 53 views
0

我沒有創建OData控制器,而是我剛剛安裝OData包並將EnableQuery屬性添加到IQueryable操作方法。這裏是我的方法OData過濾器不工作在我的web api

[HttpGet] 
    [Route("WoundLocations")] 
    [EnableQuery] 
    public IQueryable<WoundLocation> GetWoundArea() 
    { 
     return _lookupService.GetWoundLocation().AsQueryable(); 
    } 

我呼籲使用下列URL

http://dev-xxx.xxxx.com/lookup/WoundLocations?filter=Side eq '0' 

返回的結果仍然在該表中的所有記錄的動作。有什麼想法嗎?

回答

0

你缺少一個$filter關鍵字,它應該是這樣的:

http://dev-xxx.xxxx.com/lookup/WoundLocations?$filter=Side eq '0' 
+0

你是對的。但在添加'$'後,返回的結果不正確。所以我使用http://dev-xxx.xxxx.com/lookup/WoundLocations?$filter=Side eq 3,但它什麼都不返回。然而,如果我使用Side eq 1,它會返回一些值。我從DB查詢,它有很多記錄,Side等於3 –

+0

這聽起來像一個不同的問題,可能圍繞'_lookupService.GetWoundLocation()'方法的實現。如果你不能解決這個問題,也許會發布另一個問題 - 甚至可能與OData無關! :) – TomDoesCode