【发布时间】:2011-11-11 19:34:19
【问题描述】:
我需要 RavenDb 数据库中文档的唯一性。所以我遵循了文档中的建议 -
http://ravendb.net/faq/unique-constraints
我还使用以下代码来获取实体计数
public int GetCount<T>()
{
RavenQueryStatistics stats;
_session.Query<T>().Customize(x=> x.WaitForNonStaleResultsAsOfLastWrite()).Statistics(out stats).Take(0).ToArray();
return(stats.TotalResults);
//IQueryable<T> queryable = from p in _session.Query<T>().Customize(x => x.WaitForNonStaleResultsAsOfLastWrite())
// select p;
//return queryable.Count();
}
当我使用自己的 ID(如 Docs/Doc_1)时,TotalResults 会比数据库中的实际文档高。当我在工作室中浏览它时,文档低于 TotalResults 但集合显示与 TotalResults 相对应的数字更高。
查看 RavenQueryStatistics 类中的其他字段,我发现 SkippedResults 计数的正确答案始终是 TotalResults - SkipperResults。我在文档中找到了以下链接来解释 SkipperResults,但在我的场景中它并没有澄清。
http://ravendb.net/faq/skipped-results
我想我缺少一些基本的 ravendb 概念。有没有人有过类似经历?
【问题讨论】:
标签: ravendb