2012-03-22 12 views
6

Vedo risultati in conflitto utilizzando query LINQ in RavenDB, sono curioso di sapere come .Count() funzioni esattamente.RavenDB - LINQ - Count() discrepanze

Domanda 1:

Session.Query<thisEntity> 
.Count() 

Risultato: 205 - il che significa che ho 205 documenti di thisEntity.

Domanda 2:

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

Risultato: In pad LINQ questa query mostra la discarica di soli 197 documenti. Mi aspettavo di vedere 205 documenti

query 3:

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

Risultato: 197 - potrebbe significare che ci sono 197 documenti unici e la resto 8 di loro sono duplicati. Questa è un'altra cosa, non è possibile creare duplicati nella nostra istanza RavenDB.

La mia domanda: Come posso ottenere una copia di questi 8 duplicati presumibilmente esistenti in modo da poter verificare chiaramente cosa sono. In questo momento, Count mi dà 205, dump mi dà solo 197. Voglio interrogare il db per quei 8 duplicati extra.

+1

Ciò che ho a che fare con il fatto che internamente RavenDB fa cose diverse quando si invia una query con/senza una dimensione della pagina. Potrebbe essere un bug, puoi pubblicare un esempio di codice completo che mostri il problema? –

risposta

1

I documenti sono esattamente uguali o sono versioni precedenti dell'oggetto con proprietà mancanti? In questo caso, potresti riscontrare lo stesso problema described here.

+0

I documenti sono esattamente gli stessi. La struttura non è cambiata. – user1258393