#ravendb
#ravendb
Вопрос:
У меня есть требование к уникальности документа в базе данных 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();
}
Когда я использую свой собственный идентификатор, например Docs / Doc_1, итоговый результат намного выше, чем фактические документы в базе данных. Когда я просматриваю его в студии, документ ниже, чем totalResults, но коллекции показывают большее число, соответствующее totalResults.
Просматривая другие поля в классе RavenQueryStatistics, я обнаружил, что SkippedResults правильный ответ для count всегда totalResults — SkipperResults . Я нашел следующую ссылку в документах для объяснения результатов SkipperResults, но в моем сценарии это не проясняет.
http://ravendb.net/faq/skipped-results
Я думаю, что мне не хватает какой-то фундаментальной концепции ravendb. У кого-нибудь был подобный опыт?
Ответ №1:
Это звучит странно, и на самом деле этого не должно было случиться. Можете ли вы попробовать создать для этого неудачный тест и отправить его в список рассылки?
Комментарии:
1. Просто чтобы вы знали, что я использую более старую версию, то есть ravendb-build-426. Это могло быть решено в более поздней версии. Я создам неудачный тест с последней версией для публикации в списке рассылки…..