2
我在创建寻呼包装的扩展方法这样的逻辑:RavenDB获得总计数查询不能
int total = 0;
if (query is IRavenQueryable<T>)
{
RavenQueryStatistics stats;
var rQuery = (IRavenQueryable<T>)query;
rQuery.Statistics(out stats);
total = stats.TotalResults;
}
else
{
total = query.Count();
}
我的问题是,当我做了乌鸦查询,我stats.TotalResults是零,除非我在调试过程中将鼠标悬停在rQuery上并尝试展开结果。
我在这里做错了什么?如何让乌鸦始终如一地给我我需要的结果?
这里是整个方法:
public static PagingModel<T> Page<T>(this IEnumerable<T> query, int page, int count)
{
if (page < 1)
throw new ArgumentOutOfRangeException("Page is one-based and must be greater than zero");
int total = 0;
if (query is IRavenQueryable<T>)
{
RavenQueryStatistics stats;
var rQuery = (IRavenQueryable<T>)query;
rQuery.Statistics(out stats);
total = stats.TotalResults;
}
else
{
total = query.Count();
}
var results = query
.Skip((page - 1) * count)
.Take(count)
.ToArray();
return new PagingModel<T>()
{
Page = page,
Rows = results,
Total = total /count
};
}