【问题标题】:Using Paging Query Attribute in .NET Web API在 .NET Web API 中使用分页查询属性
【发布时间】:2015-06-22 04:43:29
【问题描述】:

我正在尝试为 sql 数据库中的表值函数构建 OData 端点。我必须启用分页,以便从 web.config 文件中获取页面大小值。

我想我必须扩展 EnableQuery 属性才能做到这一点,例如:

public class EnablePagedQueryAttribute : EnableQueryAttribute
{
    public EnablePagedQueryAttribute()
    {
        int myPageSizeFromWebConfig = 0;

        // Get value from web.config as you want:
        if (int.TryParse(ConfigurationManager.AppSettings["myPageSize"], out myPageSizeFromWebConfig))
        {
            this.PageSize = myPageSizeFromWebConfig;
        }
    }
}

我在控制器中使用了上面的类,而不是 EnableQuery,我在控制器方法中使用了 EnablePagedQuery,但查询根本不起作用:$top、$select、none 都不起作用,

我猜这个 EnablePagedQuery 扩展有问题,因为 EnableQuery 一切正常。

另外,如何检查页面大小是否确实发生了变化

【问题讨论】:

    标签: c# .net asp.net-web-api odata paging


    【解决方案1】:

    $select 查询将不起作用,因为当您使用控制器中的方法使用 ODataQueryOptions(选择查询中的选项)时,您不能将 select 用作​​ it does not support select。因此,您不能尝试在查询中编写 $select。

    此外,要检查页面大小是否已更改,一个简单的选项是将其设置为较小的值,例如 1,2,然后检查您的查询响应是否确实发生了更改。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-28
      • 1970-01-01
      • 1970-01-01
      • 2019-11-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多