public class EngineInfo
{
public int Id{get;set;}
public int? AircraftId { get; set; }
public string SerialNumber { get; set; }
public int Position { get; set; }
public string RegNumber { get; set; }
}
// 这是使用上述模型的代码。我有 17,000 个该模型的文档
ravenSession.Store(new AuthorizationUser
{
Id = "Authorization/Users/1",
Name = "user-1",
Permissions =
{
new OperationPermission
{
Allow = true,
Operation = "EngineInfos/View",
Tags = "Company/100"
}
}
});
1. var query = ravenSession.Query<EngineInfo>();
// 当我记录 query.Count() 时,我看到所有文档计数,即 17000,这忽略了我在 before 语句中设置的授权。如果我将 where 子句添加到上述语句中,它就会起作用,并且我可以看到正确的计数。但我想获取用户有权访问的所有文档。
2. var query = ravenSession.Query<EngineInfo>().ToList();
现在,考虑到授权,我得到了正确的计数。但问题是除非我提到 Take(x),否则它不会返回所有结果。
我尝试过
RavenQueryStatistics queryStats;
query.Statistics(out queryStats);
queryStats.TotalResults
我仍然无法获得授权结果。我得到了所有的计数。
您能帮我弄清楚在不加载所有记录的情况下查找查询结果的 TotalCount 吗?
我的要求是在可搜索的 ExtJS 分页网格中显示所有引擎。我需要知道要显示的记录总数,计算并显示页数(页数是固定的)。