Вопрос

Я хотел бы написать свой собственный простой настольный Preamendb Explorer, похожий на веб-интерфейс. Это для обучения ворона, в основном.

Таким образом, моя первая задача - прочитать все документы из БД, не имеет значения, к какому приложению они принадлежат. Я хотел бы достичь этого, используя API клиента, но кажется, что как Session.Query и Session.LuceneQuery требуют спецификатора класса.

Какой API я должен использовать для этой задачи?

Это было полезно?

Решение

Клиент API требует типа, потому что он предназначен для работы с CLR POCO и так обрабатывает преобразование (от JSON) для вас.

Вам нужно будет работать напрямую с JSON в вашем случае, как вы не знаете тип. Это то, что делает веб-интерфейс. Я рекомендую смотреть через код Java-Script, чтобы увидеть, как это сделано.

Также всегда есть индекс по умолчанию под названием «Raven / PocketByEntityName», который вы можете запросить. Это индексы «raven-Entity-name» (соответствующее типа CLR), которое хранится в метаданных документах. Это то, что Raven использует, чтобы позволить ему преобразовать JSON в тип CLR. Видеть Документы для получения дополнительной информации

Другие советы

Ниже приведен все документы Ravendb в JSON:

var docStore = new DocumentStore { Url = "http://localhost:8080" };
using (docStore.Initialize())
{
    var docs = docStore
        .DatabaseCommands
        .Query("Raven/DocumentsByEntityName", new IndexQuery());
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top