2011-12-29 13 views
5

voglio recuperare tutti i documenti di un certo tipo dal seguente query:RavenDB Salta voci quando non ci sono condizioni di filtraggio

var customers = documentSession.Query<Customer>() 

ma in questo caso ho solo 1 risultato (mentre ci sono 78 di loro) . Se aggiungo qualche condizione di filtro che è sempre vera, ottengo tutti i 78 documenti:

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

Suppongo che sia un bug.

Aggiornamento . RavenDB Build 531

Update 2

Daniel Oren e, scusate il ritardo.

Ho preparato un'applicazione di esempio. È possibile scaricarlo qui: http://www.2shared.com/file/AGIAR5UA/RavenDbSampleAppication.html

Esiste un progetto di prova NUnit che fa riferimento a SkazhiKazinoNet.Data.Model.dll in cui è definito il modello. Ho appena aggiunto il pacchetto con l'ultimo RavenDb e importato i dati da dump4.raven (lo puoi trovare nei pacchetti/Raven/tools) di Raven.Smuggler.

+0

Idsa, Ciò non sembra corretto, è possibile fornire un test negativo? –

+0

@AyendeRahien, per favore guarda Update2 – SiberianGuy

risposta

2

Sono abbastanza sicuro che non esiste una bug (in qualsiasi versione recente) a causa di un paio di motivi:

  • questo sarebbe un enorme uno di questi, molte applicazioni si romperebbe
  • ci sono una discreta quantità di test unitari che fallirebbero

Per aiutarti a identificare il problema - puoi fornire un test negativo?

Si prega di assicurarsi di chiamare .ToList() anche sulla prima query.

+0

Sono stato anche sorpreso ... Ho cancellato la cartella Dati e dai dati registrati da Raven.Smuggler e ora restituisce zero documenti invece di uno :) La versione con Dove ancora restituisce tutti gli elementi. – SiberianGuy

+0

Sembra interessante. Puoi mettere insieme una piccola applicazione di esempio o un test e caricare su github? –

+0

Si prega di consultare Update2 – SiberianGuy

2

Avevi ragione, il database all'interno del tuo archivio era danneggiato.

Ho potuto riprodurre l'errore. La query:

ricciolo -X GET http://localhost:8080/indexes/dynamic/Casinos

rendimenti

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

Poi ho cancellato tutti gli indici e riavviato il server. Ora la query restituisce risultati corretti. Quindi, dopo aver eliminato tutti gli indici e averli ricreati, dovrebbe funzionare anche sul tuo computer.

Mi dispiace ma non posso fornire ulteriori informazioni su questo, forse Oren può.

+0

Cosa intendete per "rimuovere tutti gli indici"? Rimuovere la cartella degli indici? – SiberianGuy

+0

All'interno dello studio di gestione, aprire ogni indice uno alla volta ed eliminarli. –

Problemi correlati