There are five known public C# libraries for using CouchDB:

  1. LoveSeat

  2. Relax

  3. Divan

  4. SharpCouch

  5. DreamSeat

LoveSeat

LoveSeat - "Bringing Couchdb and .Net a little closer". Works well with Generics for populating Domain objects. (Even when nested!). IoC and TDD friendly.

* Features

download now

For more information see the README.

git clone git://github.com/soitgoes/LoveSeat.git

Relax

The Relax library (http://github.com/arobson/Relax) provides interfaces for both server control (administrative tasks, replication, etc.) and a repository model for working with CouchDB. As the author of Relax, I can say that you should definitely take a look at Relax as it provides an extensible, IoC friendly, repository pattern for working with domain model persistence against my favorite document store.

* Features

Documentation is currently found at the Symbiote wiki: http://www.sharplearningcurve.com/wiki/Symbiote-Relax.ashx. There is also a comprehensive demo that's part of the source on github which shows some of Relax's more interesting capabilities, such as the ability to subscribe to changes in a database as they happen.

git clone git://github.com/arobson/Relax.git

Relax does not currently provide Lucene support. Congrats to Henrik for supporting that in Divan!

Divan

The git repository at http://github.com/foretagsplatsen/Divan has a relatively complete C# library for CouchDB using Newtonsoft.JSON and NUnit as its only external dependencies. Divan is actively maintained and in use at Foretagsplatsen (a swedish company using it in their core system). Being the author of Divan I claim it to be much more complete than SharpCouch :)

For more information see the README.

git clone git://github.com/foretagsplatsen/Divan.git

SharpCouch

The project at http://code.google.com/p/couchbrowse contains a simple wrapper library for CouchDB, called SharpCouch, and a GUI client which makes use of the library. The GUI client code should serve as a good usage example, although the wrapper class is documented and fairly self-explanatory anyway.

You can get the source by issuing the following SVN command:

svn checkout http://couchbrowse.googlecode.com/svn/trunk/ couchbrowse

The project was built with SharpDevelop 2.2, but should work out of the box with Visual Studio 2005. Getting it to work with MonoDevelop should be reasonably easy, but has not been tried yet.

DreamSeat

DreamSeat is a CouchDB client for the .NET plateform. It is based on LoveSeat from Martin Murphy. Thanks to Mindtouch Dream, all the API calls can be executed asychronously or sychronously.

Main Features

Download here or clone it

git clone git://github.com/vdaron/DreamSeat.git

Getting_started_with_C# (last edited 2011-09-23 13:06:52 by VincentDaron)