2012-03-22 3 views
6

RavenDB'deki LINQ sorgularını kullanarak çakışan sonuçlar görüyorum, .Count() yönteminin tam olarak nasıl çalıştığını merak ediyorum.RavenDB - LINQ - Count() tutarsızlıkları

Sorgu 1:

Session.Query<thisEntity> 
.Count() 

Sonuç: 205 - Ben thisEntity 205 belgeleri anlamına gelir.

Sorgu 2:

Session.Query<thisEntity> 
.Take(210) 
.Dump() 

Sonuç: LINQ pad olarak bu sorgu sadece 197 belgelerin dökümü gösterir. 197 benzersiz belgeler ve bunların kalan 8 yinelemeler vardır ki kastediyor olabilir - 197:

Session.Query<thisEntity> 
.Distinct() 
.Count() 

Sonuç: Ben 205 belgeleri

Sorgu 3'ü görmek için bekliyordum. Bu başka bir şey, RavenDB örneğimizde kopyaların oluşturulmasının bir yolu yoktur.

Soruma Soru: Bu sözde varolan iki kopyanın bir dökümünü nasıl alabilirim, böylece ne olduklarını açıkça kontrol edebilirim. Şu anda, Kont bana 205 veriyor, dökümü sadece 197 veriyor. Bu fazladan 8 kopya için db'yi sorgulamak istiyorum.

+1

Bu, bir sayfa boyutu olan/olmayan bir sorguyu yayınladığınızda RavenDB'nin farklı şeyler yapması gerçeğiyle ilgili daha fazla şey var. Bir hata olabilir, sorunu gösteren tam bir kod örneği gönderebilir misiniz? –

cevap

1

Belgeler tam olarak aynı mı, yoksa eksik özelliklere sahip nesnenin eski sürümleri mi? Eğer öyleyse, aynı sorunu yaşıyor olabilirsiniz described here.

+0

Belgeler tam olarak aynı. Yapı değişmedi. – user1258393