C# .NETWebAPI中的分页
我必须对使用实体框架构建的odata端点进行分页。我知道我可以用电脑来做C# .NETWebAPI中的分页,c#,.net,asp.net-web-api,odata,paging,C#,.net,Asp.net Web Api,Odata,Paging,我必须对使用实体框架构建的odata端点进行分页。我知道我可以用电脑来做 private ODataQuerySettings settings = new ODataQuerySettings(); settings.PageSize = myPageSize; // I keep this value in web.config of solution and options.ApplyTo(IQueryable, settings); 但是我被限制不使用ApplyTo(即,我不想使用上述
private ODataQuerySettings settings = new ODataQuerySettings();
settings.PageSize = myPageSize; // I keep this value in web.config of solution
and
options.ApplyTo(IQueryable, settings);
但是我被限制不使用ApplyTo(即,我不想使用上述设置)并从解决方案的web.config获取页面大小,而不修改web api提供的url,即不使用客户端大小分页
到目前为止,我还没有找到这样做的方法。我无法将页面大小放入[Enable Query],因为这不是从web.config动态提升页面大小参数
我想知道我想要的是什么,还是我正在尝试做一些太棘手的事情。您可以扩展EnableQuery属性的默认行为,以便根据需要使用web.config的值。也许是这样的:
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;
}
}
}