我正在尝试为sql数据库中的Table值函数构建一个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都可以正常工作。
另外,如何检查页面大小是否确实已更改?
答案 0 :(得分:0)
$ select查询将不起作用,因为当您使用ODataQueryOptions在控制器中使用方法(以选择查询中的选项)时,您不能将select用作it does not support select。因此,您不能尝试在查询中撰写$ select。
此外,要检查页面大小是否已更改,一个简单的选项是将其设置为较小的值,如1,2并检查您的查询响应是否确实发生了变化。