2012-03-22 19 views
6

Widzę sprzeczne wyniki przy użyciu kwerend LINQ w RavenDB, jestem ciekawy, w jaki sposób .Count() działa dokładnie.RavenDB - LINQ - rozbieżności Count()

Query 1:

Session.Query<thisEntity> 
.Count() 

Wynik: 205 - czyli mam 205 dokumenty thisEntity.

Query 2:

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

Rezultat: w LINQ pad ta kwerenda pokazuje zrzut zaledwie 197 dokumentów. Spodziewałem się zobaczyć 205 dokumentów

Query 3:

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

Wynik: 197 - może oznaczać, że istnieje 197 unikalnych dokumentów i reszta 8 z nich są duplikatami. Jest to kolejna rzecz, nie ma możliwości, aby duplikaty mogły być tworzone w naszej instancji RavenDB.

Moje pytanie: Jak uzyskać zrzut 8 rzekomo istniejących duplikatów, dzięki czemu mogę dokładnie sprawdzić, jakie one są. Teraz hrabia daje mi 205, zrzut daje mi tylko 197. Chcę zapytać db o te dodatkowe 8 duplikatów.

+1

Chodzi mi o to, że wewnętrznie RavenDB robi różne rzeczy, gdy wydajesz zapytanie z/bez rozmiaru strony. Może to być błąd, czy możesz opublikować pełną próbkę kodu, która pokazuje problem? –

Odpowiedz

1

Czy dokumenty są dokładnie takie same, czy są niektóre starsze wersje obiektu z brakującymi właściwościami? Jeśli tak, być może masz ten sam problem: described here.

+0

Dokumenty są dokładnie takie same. Struktura się nie zmieniła. – user1258393