Frage

Kann (verwalteten Code) .NET lesen und schreiben CouchDB?

Ich mag einen Teil von meinem Projekt erstellen, die Dokumenten-Management funktioniert mit CouchDB

War es hilfreich?

Lösung

Werfen Sie einen Blick auf die SharpCouch Utility-Klasse.

Es ist eine einfache Wrapper-Klasse für den CouchDB HTTP API.

Andere Tipps

Die eine späte Antwort, aber Besuche Hammock . Es ist aktiv und gehen in den produktiven Einsatz an mehreren Projekten schnell und regelmäßige Aktualisierungen und Korrekturen empfängt. Neben den grundlegenden Objekt-Persistenz, Hängematte gibt Ihnen:

  • True POCO. Sie haben nicht einmal eine ‚id‘ Eigenschaft benötigen; Hammock Spuren, die intern.
  • Robuste Unterstützung für Ansichten, eine einfache einschließlich fließend API zu verwenden, die beide erzeugt und ausführt Ansichten und die Unterstützung für das Erstellen von benutzerdefinierten Karte / reduzieren Ansichten.
  • Anhänge Unterstützung.
  • Eine generische Repository<> Klasse, die bringen Sie Ihre Anfragen / Ansichten (das heißt _Design doc) zusammen mit Ihrem c # Anwendungscode hilft. Repositorys sind verantwortlich für _Design docs beibehalten, und dies trägt dazu bei, das Gefühl, wie CouchDB Ansichten halten gespeicherte Procs .
  • Eine vollständige Unit-Test-Suite. Dies ist nicht Software-Prototypen.

Ja.

Siehe

hier Anweisungen zur Installation CouchDB auf Fenster.

Hier ist ein Link auf die mit C # Wiki-Artikel am Anfang. Es gibt einen Link zu einem .NET-Wrapper in diesem Artikel. Es wäre ziemlich einfach zu rollen Sie Ihre eigenen als auch.

Da Sie in der Regel mit CouchDB über REST und JSON kommunizieren, würde ich vorstellen, dass es nicht zu schwer wäre, ein href zu verwenden <= "http://james.newtonking.com/pages/json-net.aspx "rel =" nofollow noreferrer "> JSON.NET und die normale WebClient / HttpWebRequest Klassen, es zu tun. Ich habe es selbst nicht versucht, wohlgemerkt ...

Little spät, um das Spiel, aber es ist ein Open-Source-Projekt für einen neuen Treiber in C # geschrieben über das async HTTP-Client und standardmäßig Newtonsoft des JSON.Net für die Serialisierung (umschaltbar). MyCouch -. Einfache async CouchDB-Client für .Net

A Erste Schritte Post existiert hier: http://danielwertheim.se/get-up-and-running-with-couchdb-and-c-using-mycouch-on-windows/

Halten Sie ein Auge auf Ottoman ein Open-Source-Projekt in C # geschrieben. Es ist immer noch stark in der Entwicklung, aber ich wollte es für Projekte in der Planungsphase als Option hinzuweisen. Ich werde diesen Beitrag aktualisieren, da es näher an Abschluss bekommt. Sie können den Quelltext sehen auf Github . Lesen Sie die Readme zu sehen, Beispiele und was möglich ist mit der aktuellen Version.

  • Im Gegensatz zu SharpCouch, die Zeichenketten verwendet stark, verwendet Ottoman Generika für automatische Serialisierung und desrialization zum Abbilden eines Objekts aus einem JSON String und vice versa. All dies ohne Ihre Objekte benötigen eine Schnittstelle oder Base zu erben off Klasse.
  • Es nutzt Json.Net darunter zu Griff der JSON Serialisierung und Deserialisierung.
  • Karten des RESTful-Fehlercodes, die CouchDB kehrt in Ausnahmen.
  • Geplante Eigenschaft: Id Generatoren für IDs zur Erzeugung die Objekte beibehalten werden
  • Geplante Feature: Implizite offline Optimistische Sperre über Document Revisionen werden Ottoman ein verwenden Identity Map Kurs zu halten für Sie und eine Exception aus, wenn ein Konflikt auftritt.
  • Geplante Feature:. Es wird Mono kompatibel
  • Geplantes Feature: Dies ist auf dem Weg, aber ich Plan zu tun auf mit LINQ Ausdrücke für Map / Reduce-Funktionen die Sie express CouchDB mit Hilfe von JavaScript.

Es ist ein relativ neues Projekt, aber sehr aktiv. Natürlich, ich bin auch ein bisschen voreingenommen. ; -)

nehmen auch einen Blick auf Diwan - ein leichtgewichtiger Wrapper für die cdb api

ich verwendet habe JSON.NET in Verbindung mit der MS REST Starter-Kit http-Client-Klasse zu CouchDB integrieren und es funktioniert wirklich gut.

CouchDBs Wiki hat eine Liste von API für C # (mit ihren Funktionen), wenn Sie den aktuellen Status mögen: http://wiki.apache.org/couchdb/Getting_started_with_C%23

Sehr einfache .NET-API verwenden, um CouchDB in WDK10 enthalten, die Sie von http: // code.google.com/p/skitsanoswdk/ es ist sehr flexibel und ermöglicht es Ihnen, mit Ihren Daten auf Objekte und reine json Ebene zu behandeln.

Die Optionen ( durch neuestes Update bestellt ):

Überprüfen Relax out http://www.sharplearningcurve.com/wiki/Symbiote- Relax.ashx . Relax ist eine „Net-API Abstraktion von der CouchDB (ausgezeichnet) RESTful API. Es enthält eine Repository-basierte Schnittstelle für die Dokumente Interaktion und ein Server-Controller für administrative Aufgaben Art.“

Ein weiterer - CouchDBClient: https://github.com/ttutisani/CouchDBClient

Disclaimer: Ich bin der Autor

.

Ich habe versucht, CouchDBClient freundlicher zu machen mit benutzerdefinierten Objekten zu arbeiten -. Das ist, was in der Regel Anwendungen speichern in der Datenbank

Als ich diesen Rahmen zu schreiben begann, alle anderen, die ich gefunden und ausprobiert wurden einen Eindruck von nicht-standardisierten Methode Signaturen zu machen (mit dem Namen verschiedene Konventionen und schwieriger zu erraten, was sie taten), nicht einheitliche Schnittstellen (einige Operationen um String docs, während andere um json docs), nicht sehr flexibel (einige nur mit Streichern gearbeitet, andere nur mit Objekten) oder nicht sehr abstrakt (hatte CouchDB REST API zuerst sie richtig verwenden) zu kennen. Ich gehe davon aus und hoffen, dass sie seither gereift sind, aber zumindest dieses ist bis zu meinem Geschmack gestaltet.

Ich hoffe, dass CouchDBClient zu viel ein Gefühl der komfortablen Abstraktion ohne sich Gedanken über zugrunde liegende API erstellen und auf Ihre Anwendung nur konzentriert, und wie es speichert und abruft Objekte, die es braucht.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top