获取PagedList中的记录总数

时间:2015-10-12 16:25:52

标签: tsql pagedlist

我在客户端上使用的数据网格基于SQL行号;它还需要总页数才能进行分页。我还在服务器上使用PagedList。

SQL事件探查器显示PagedList进行2次db调用 - 第一次获取记录总数,第二次获取当前页面。问题是我找不到从PagedList中提取总记录数的方法。因此,目前我必须进行额外的调用以获得总计为每个请求创建3个调用的总数,其中2个完全相同。据我所知,我可能无法取消获得总数的电话,但我讨厌两次打电话。以下是我的代码摘录,我非常感谢您提供的任何帮助:

var t = from c in myDb.MyTypes.Filter<MyType>(filterXml) select c;
response.Total = t.Count(); // my first call to get the total

double d = uiRowNumber / uiRecordsPerPage;
int page = (int)Math.Ceiling(d) + 1;

var q = from c in myDb.MyTypes.Filter<MyType>(filterXml).OrderBy(someOrderString)
    select new ReturnType
    {
        Something = c.Something
    };

response.Items = q.ToPagedList(page, uiRecordsPerPage);

1 个答案:

答案 0 :(得分:3)

PagedList具有.TotalItemCount属性,该属性反映集合中的记录总数(不是特定页面中的数字)。因此,response.Items.TotalItemCount应该可以解决问题。