Domanda

mi piacerebbe scrivere il mio tavolo semplice basata RavenDB explorer, simile al Web UI. Questo è per l'apprendimento Raven, per lo più.

Quindi il mio primo compito è quello di leggere tutti i documenti dal db, non importa che cosa App a cui appartengono. Mi piacerebbe ottenere questo utilizzando l'API client, ma sembra che sia session.Query e session.LuceneQuery richiedono classe di specificazione.

Cosa API dovrei usare per questo compito?

È stato utile?

Soluzione

L'API client richiede un tipo perché è progettato per funzionare con CLR POCO e quindi gestisce la conversione (da JSON) per voi.

Sarà necessario lavorare direttamente con il JSON nel tuo caso, come non si conosce il tipo. Questo è ciò che fa l'utente web. Io consiglierei di guardare attraverso il codice Java-Script per vedere come è fatto.

Inoltre v'è sempre un indice di default chiamato "Raven / DocumentsByEntityName" che è possibile interrogare. Questa indicizza il "Raven-Entity-name" (corrispondente al tipo CLR), che vengono memorizzati in un metadati documenti. Questo è quello che utilizza Raven per consentirgli di convertire il JSON per un tipo CLR. Vedere la documentazione per ulteriori informazioni

Altri suggerimenti

Il sotto estrarrà tutti i documenti RavenDB in JSON:

var docStore = new DocumentStore { Url = "http://localhost:8080" };
using (docStore.Initialize())
{
    var docs = docStore
        .DatabaseCommands
        .Query("Raven/DocumentsByEntityName", new IndexQuery());
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top