Frage

Ich möchte meine eigenen einfachen Desktop RavenDB Explorer, ähnlich wie die Web-Benutzeroberfläche basiert schreiben. Dies ist für das Lernen Raven, meistens.

So ist meine erste Aufgabe, alle Dokumente aus der db zu lesen ist, spielt keine Rolle, welche App sie gehören. Ich möchte das die Client-API erreichen verwenden, aber es scheint, wie beide session.Query und session.LuceneQuery Klassen-Bezeichner erfordern.

Was API soll ich für diese Aufgabe verwenden?

War es hilfreich?

Lösung

Der Client-API erfordert eine Art, weil es an der Arbeit mit CLR POCO angefertigt und so übernimmt die Umwandlung (von Json) für Sie.

Sie müssen direkt mit dem Json in Ihrem Fall arbeiten, wie Sie den Typ nicht kennen. Dies ist, was die Web-Benutzeroberfläche funktioniert. Ich würde empfehlen, den Java-Script-Code der Suche durch, um zu sehen, wie es gemacht wird.

Auch gibt es immer einen Standardindex „Raven / DocumentsByEntityName“ genannt, dass Sie abfragen können. Diese Indizes des „Raven-Entity-Name“ (entsprechend den CLR-Typ), ist, dass in einer Dokumenten-Metadaten gespeichert. Dies ist, was Raven zu ermöglichen, verwendet es die Json auf einen CLR-Typen zu konvertieren. Siehe die docs für weitere Informationen

Andere Tipps

Die unten alle RavenDB Dokumente in Json extrahieren:

var docStore = new DocumentStore { Url = "http://localhost:8080" };
using (docStore.Initialize())
{
    var docs = docStore
        .DatabaseCommands
        .Query("Raven/DocumentsByEntityName", new IndexQuery());
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top