Asp.net web api 不使用MapODataServiceRoute而使用$inlinecount

Asp.net web api 不使用MapODataServiceRoute而使用$inlinecount,asp.net-web-api,odata,asp.net-web-api-odata,Asp.net Web Api,Odata,Asp.net Web Api Odata,我从ApiController继承了一个控制器1,返回某个实体的IQueryable 我有另一个控制器2返回相同的东西,但继承了像这样的ODataController和oData路由配置 ODataConventionModelBuilder builder = new ODataConventionModelBuilder(); builder.EntitySet<StoreCommand>("StoreCommandsTest");

我从ApiController继承了一个控制器1,返回某个实体的IQueryable

我有另一个控制器2返回相同的东西,但继承了像这样的ODataController和oData路由配置

            ODataConventionModelBuilder builder = new ODataConventionModelBuilder();
        builder.EntitySet<StoreCommand>("StoreCommandsTest");
        config.Routes.MapODataServiceRoute(routeName: "OData", routePrefix: "api", model: builder.GetEdmModel());
        config.AddODataQueryFilter();
当我尝试运行?$inlinecount=allpages&$top=0时,我得到一个空的json对象结果

当我尝试运行?$inlinecount=allpages&$top=0时,我得到了odata.count=100的正确结果

我的问题是控制器1有什么问题


最终,我只想得到一个数字

这些查询选项应该与ApiController一起使用,但您应该在控制器的方法中添加EnableQuery属性

$count以仅获取计数