Назначение пользовательского идентификатора RavenDB

#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. Это могло быть решено в более поздней версии. Я создам неудачный тест с последней версией для публикации в списке рассылки…..