J'ai besoin d'unicité de document dans une base de données RavenDb. Donc, je suivais le recomendation dans docs -Affectation d'ID personnalisée RavenDb
http://ravendb.net/faq/unique-constraints
J'utilise aussi le code suivant pour obtenir le nombre d'entités
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();
}
Quand j'utiliser mon propre ID comme Docs/Doc_1 puis les totalResults de manière plus élevé que les documents réels dans la base de données. Lorsque je le parcours dans le studio, le document est inférieur à TotalResults mais les collections affichent un nombre plus élevé correspondant à TotalResults.
En regardant les autres champs de la classe RavenQueryStatistics, j'ai trouvé SkippedResults la réponse correcte pour count est toujours TotalResults - SkipperResults. J'ai trouvé le lien suivant dans les documents pour expliquer SkipperResults mais dans mon scénario il ne clarifie pas.
http://ravendb.net/faq/skipped-results
Je pense que je manque un concept de RavenDB fondamentale. Tout le monde a eu une expérience similaire?
Juste pour vous faire savoir que je suis sur une version plus ancienne, c'est-à-dire ravendb-build-426. Cela aurait pu être résolu dans une version ultérieure. Je vais créer un test échoué avec la dernière version sur le post sur la liste de diffusion ..... – NiladriBose