2012-03-22 23 views
6

Veo resultados conflictivos al utilizar consultas LINQ en RavenDB. Tengo curiosidad sobre cómo funciona exactamente .Count().RavenDB - LINQ - Count() discrepancias

Consulta 1:

Session.Query<thisEntity> 
.Count() 

Resultado: 205 - lo que significa que tengo 205 documentos de thisEntity.

Consulta 2:

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

Resultado: En la almohadilla LINQ esta consulta muestra el volcado de sólo 197 documentos. Yo estaba esperando a ver 205 documentos

de consulta 3:

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

Resultado: 197 - podría significar que hay 197 documentos únicos y el resto 8 de ellos están duplicados. Esto es otra cosa, no hay forma de que se puedan crear duplicados en nuestra instancia de RavenDB.

Mi pregunta: ¿Cómo puedo obtener un volcado de esos 8 duplicados supuestamente existentes para que pueda verificar claramente cuáles son? En este momento, Count me da 205, dump solo me da 197. Quiero consultar el db para esos 8 duplicados adicionales.

+1

Creo que esto tiene más que ver con el hecho de que internamente RavenDB hace cosas diferentes cuando emite una consulta con/sin un tamaño de página. Puede ser un error, ¿puedes publicar una muestra de código completo que muestre el problema? –

Respuesta

1

¿Son los documentos exactamente iguales, o algunas versiones anteriores del objeto con propiedades perdidas? Si es así, puede estar experimentando el mismo problema described here.

+0

Los documentos son exactamente lo mismo. La estructura no ha cambiado. – user1258393