2011-12-29 9 views
5

chcę pobrać wszystkie dokumenty pewnego rodzaju następującym zapytaniem:RavenDb Pomija pozycje gdy nie ma warunków filtrowania

var customers = documentSession.Query<Customer>() 

ale w tym przypadku mam tylko 1 wynik (gdy istnieje 78 z nich) . Jeśli dodaję pewien stan filtrowania, który zawsze jest prawdziwy, otrzymuję wszystkie 78 dokumentów:

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

Zgaduję, że to błąd.

Aktualizacja. RavenDb Budowanie 531

Aktualizacja 2

i Daniel Oren, przepraszam za opóźnienie.

Przygotowałem przykładową aplikację. Możesz pobrać go tutaj: http://www.2shared.com/file/AGIAR5UA/RavenDbSampleAppication.html

Istnieje testowy projekt NUnit, który odwołuje się do SkazhiKazinoNet.Data.Model.dll, gdzie zdefiniowano model. Właśnie dodałem pakiet z ostatnim RavenDb i zaimportowałem dane z dump4.raven (można je znaleźć w pakietach/Raven/tools) autorstwa Raven.Smuggler.

+0

Idsa, To nie brzmi dobrze, czy możesz dostarczyć test na awarię? –

+0

@AyendeRahien, proszę spojrzeć na Update2 – SiberianGuy

Odpowiedz

2

Jestem pewien, że nie ma takich błędów (w dowolnej nowszej wersji), ponieważ z kilku powodów:

  • byłoby to takie ogromne jeden, wiele aplikacji złamie
  • istnieją spora liczba testów jednostkowych, które zawiodłyby:

Aby pomóc w zidentyfikowaniu problemu - czy możesz dostarczyć test na awarię?

Proszę się także upewnić, że dzwonisz pod numer .ToList() również przy pierwszym zapytaniu.

+0

Byłem również zaskoczony ... Usunąłem folder danych, a nie improtowane dane przez Raven.Smuggler, a teraz zwraca zero dokumentów zamiast jednego :) Wersja z Where nadal zwraca wszystkie przedmioty. – SiberianGuy

+0

To brzmi interesująco. Czy możesz przygotować małą przykładową aplikację lub przetestować i przesłać na github? –

+0

Proszę spojrzeć na Update2 – SiberianGuy

2

Miałeś rację, baza danych w twoim archiwum była uszkodzona.

Mogłem odtworzyć błąd. Zapytanie:

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

powraca

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

Potem usunięte wszystkie indeksy i ponownym uruchomieniu serwera. Teraz zapytanie zwraca poprawne wyniki. Po usunięciu wszystkich indeksów i ich odtworzeniu, powinno to również działać na twoim komputerze.

Przykro mi, ale nie mogę podać żadnych dalszych informacji na ten temat, może Oren może.

+0

Co masz na myśli przez "usunąć wszystkie indeksy"? Usunąć folder Indexes? – SiberianGuy

+0

Wewnątrz studia zarządzania otwórz każdy indeks jeden po drugim i usuń je. –