Запрос RavenDB не работает с C#, но он работает в RavenDB Studio?

На самом деле я хочу удалить все документы такого рода в тестовой процедуре, но я не смог сделать это с помощью DocumentStore.DatabaseCommands.DeleteByIndex команда, поэтому я попытался посмотреть, смогу ли я запросить эти объекты, вот мой код:

var store = new DocumentStore { Url = "http://localhost:8080" };
            store.Initialize();
            var result= store.DatabaseCommands.Query("Raven/DocumentsByEntityName",
                new IndexQuery { Query = "Tag : RunningTables" },null);
            result.Results.ForEach(x=>x.WriteTo(new JsonTextWriter(Console.Out)));

Он не возвращает документ, но когда я использую RavenDB Studio и выполняю тот же запрос на Raven/DocumentsByEntityName индекс.

Затем я взглянул на свою команду Url и понял, что start=30, поэтому изменил код следующим образом:

var result= store.DatabaseCommands.Query("Raven/DocumentsByEntityName",
                    new IndexQuery { Query = "Tag : RunningTables",Start=0 },null);

Но ничего не изменилось, за исключением того, что теперь Url больше не содержит start. Что не так с моим кодом?

1 ответ

Решение

ХОРОШО. Я понял, что не так с моим кодом. Я не выбрал базу данных по умолчанию, и в моей RavenDB было несколько баз данных. Итак, я сделал это так:

var store = new DocumentStore { Url = "http://localhost:8080" , DefaultDatabase = "MyDbName" };
            store.Initialize();
            var result= store.DatabaseCommands.Query("Raven/DocumentsByEntityName",
                new IndexQuery { Query = "Tag : RunningTables" },null);
            result.Results.ForEach(x=>x.WriteTo(new JsonTextWriter(Console.Out)));
Другие вопросы по тегам