问题
Web API 怎么支持通用的 OData 系统查询项,例如 $select 或 $filter。
解决方案
为了在 Web API 中启用查询项,我们需要在 Action 上使用 EnableQueryAttribute。
如果 Action 没有返回集合,而是返回单个对象的实例,调用端仍然可以使用 $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

