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