Pregunta

Me gustaría escribir mi propio escritorio simple RavenDB explorador, similar a la interfaz de usuario basada en Web. Esto es para aprender Cuervo, en su mayoría.

Así que mi primera tarea es leer todos los documentos de la base de datos, no importa lo APP que pertenecen. Me gustaría lograr esto mediante la API de cliente, pero parece que tanto session.Query y session.LuceneQuery requieren especificador de clase.

¿Qué API debería utilizar para esta tarea?

¿Fue útil?

Solución

La API de cliente requiere un tipo porque está diseñado para trabajar con CLR POCO y por lo maneja la conversión (de JSON) para usted.

Usted tendrá que trabajar directamente con el JSON en su caso y cuando no se conoce el tipo. Esto es lo que hace la interfaz de usuario Web. Me gustaría recomendar mirando a través del código de Java-Script para ver cómo se hace.

También hay siempre un índice predeterminado llamado "Cuervo / DocumentsByEntityName" que se pueden consultar. Este índices del "Raven-entity-name" (correspondiente al tipo CLR), que se almacena en un metadatos documentos. Esto es lo que utiliza cuervo para que pueda convertir el JSON para un tipo CLR. Ver los documentos para obtener más información

Otros consejos

La continuación va a extraer todos los documentos RavenDB en JSON:

var docStore = new DocumentStore { Url = "http://localhost:8080" };
using (docStore.Initialize())
{
    var docs = docStore
        .DatabaseCommands
        .Query("Raven/DocumentsByEntityName", new IndexQuery());
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top