問題
Web API 怎么支持通用的 OData 系統(tǒng)查詢項,例如 $select 或 $filter。
解決方案
為了在 Web API 中啟用查詢項,我們需要在 Action 上使用 EnableQueryAttribute。
如果 Action 沒有返回集合,而是返回單個對象的實例,調(diào)用端仍然可以使用 $expand 和 $select 兩個查詢語句,要達到這個目的,我們必須將返回對象包裝在 SingleResult<T> 中。集合和單個對象實例作為返回值的例子如訂單 12-7 所示
清單 12-7. 在兩個路由上啟用查詢語句
1 public class PlayersController : ODataController 2 3 { 4 5 private readonly PlayersContext playersDbContext = new PlayersContext(); 6 7 [EnableQuery] 8 9