2011-12-29 14 views
5

que desea recuperar todos los documentos de algún tipo por la siguiente consulta:RavenDb Omite los elementos cuando no hay condiciones de filtrado

var customers = documentSession.Query<Customer>() 

pero en este caso sólo obtengo 1 resultado (mientras que hay 78 de ellos) . Si agrego alguna condición de filtrado que siempre es verdadera, obtengo los 78 documentos:

var customers = documentSession.Query<Customer>().Where(c => c.Id != null).ToList(); 

Supongo que es un error.

Actualización. RavenDb Build 531

Actualización 2

Daniel y Oren, lo siento por el retraso.

He preparado una aplicación de muestra. Puede descargarlo aquí: http://www.2shared.com/file/AGIAR5UA/RavenDbSampleAppication.html

Hay un proyecto NUnit de prueba que hace referencia a SkazhiKazinoNet.Data.Model.dll donde se define el modelo. Acabo de agregar el paquete con el último RavenDb y los datos importados de dump4.raven (puedes encontrarlo en los paquetes/Raven/tools) de Raven.Smuggler.

+0

Idsa, Eso no suena bien, ¿me puede dar una prueba fallida? –

+0

@AyendeRahien, mira Update2 – SiberianGuy

Respuesta

2

estoy bastante seguro de que no hay tal error (en cualquier versión reciente) a causa de un par de razones:

  • esto sería un gran uno de ellos, muchas aplicaciones se romperían
  • hay una cantidad justa de pruebas unitarias que fallarían

Para ayudarlo a identificar el problema, ¿puede proporcionar una prueba fallida?

Por favor, asegúrese de llamar al .ToList() en su primera consulta también.

+0

También me sorprendió ... Borré la carpeta de datos y luego imprimí los datos por Raven.Smuggler y ahora devuelve cero documentos en lugar de uno :) La versión con Where aún devuelve todos los elementos. – SiberianGuy

+0

Eso suena interesante. ¿Puedes armar una pequeña aplicación de muestra o una prueba y subirla a github? –

+0

Mire en Update2 – SiberianGuy

2

Tenías razón, la base de datos dentro de tu archivo estaba dañada.

Pude reproducir el error. La consulta:

rizo -X LLEGAR http://localhost:8080/indexes/dynamic/Casinos

vuelve

{"Results":[],"Includes":[],"IsStale":false,"IndexTimestamp":"2011-12-31T02:19:51.2660000","TotalResults":0,"SkippedResults":0,"IndexName":"LastComments","IndexEtag":"00000000-0000-0100-0000-000000000078"} 

Luego he eliminado todos los índices y se reinicia el servidor. Ahora la consulta arroja resultados correctos. Por lo tanto, después de eliminar todos sus índices y volver a crearlos, también debería funcionar en su máquina.

Lo siento, pero no puedo proporcionar más información sobre eso, tal vez Oren puede.

+0

¿Qué quiere decir con "eliminar todos los índices"? Eliminar carpeta de índices? – SiberianGuy

+0

Inside management studio, abra cada índice uno por uno y elimínelos. –

Cuestiones relacionadas