2011-10-03 3 views
2

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?

Répondre

0

Cela semble étrange, et ne devrait pas vraiment se produire. Pouvez-vous essayer de créer un test qui échoue pour cela et l'envoyer à la liste de diffusion?

+0

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

Questions connexes