我试图弄清楚获取记录计数的最佳方法是合并分页。我需要这个值来计算给定页面大小和一些其他变量的总页数 这是我到目前为止使用skip和take语句获取起始行和页面大小。
promotionInfo = (from p in matches
orderby p.PROMOTION_NM descending
select p).Skip(startRow).Take(pageSize).ToList();
我知道我可以运行另一个查询,但想到可能有另一种方法可以实现此计数而无需运行查询两次。
提前致谢, 比利
答案 0 :(得分:9)
我知道我可以运行另一个查询,但想到可能有另一种方法可以实现此计数而无需运行查询两次。
不,你必须运行查询。
您可以执行以下操作:
var source = from p in matches
orderby p.PROMOTION_NM descending
select p;
var count = source.Count();
var promotionInfo = source.Skip(startRow).Take(pageSize).ToList();
但请注意Skip(0)
isn't free。