在.NET中使用CouchDB

.NET(托pipe代码)可以读写CouchDB吗?

我想构build一个使用CouchDB进行文档pipe理的项目的一部分

看看SharpCouch工具类。

它是CouchDB HTTP API的简单包装类。

这是一个迟到的答案,但要检查出吊床 。 它很快就投入生产使用,并定期更新和修复。 除了基本的对象持久性,Hammock还给你:

  • 真正的POCO。 你甚至不需要'id'属性; 吊床追踪内部。
  • 强大的视图支持,包括一个易于使用的stream畅的API,既生成AND执行视图,并支持创build自定义的地图/减less视图。
  • 附件支持。
  • 一个通用的Repository <>类,可以帮助您将查询/视图(即_Design doc)与您的C#应用​​程序代码结合在一起。 存储库负责维护_design文档,这有助于保持CouchDB的视图不像“存储过程”。
  • 完整的unit testing套件。 这不是原型软件。

是。

请参阅这里了解如何在Windows上安装CouchDB。

这里是一个C# wiki文章入门的链接。 在那篇文章中有一个到.net包装的链接。 推出自己的产品也相当容易。

考虑到你通常使用REST和JSON与CouchDB进行通信,我想可以使用JSON.NET和普通的WebClient / HttpWebRequest类来完成它。 我没有尝试过自己,介意你…

对于游戏迟了一点,但有一个开源的项目,用C#编写的新的驱动程序通过asynchronousHTTP客户端,默认情况下,Newtonsoft的JSON.Net序列化(可切换)。 MyCouch – 用于.Net的简单asynchronousCouchDb客户端。

入门文章存在于这里: http : //danielwertheim.se/get-up-and-running-with-couchdb-and-c-using-mycouch-on-windows/

请关注奥斯曼用C#编写的开源项目。 目前仍处于大发展阶段,但我希望在规划阶段将其作为项目的一个选项。 我将更新这个职位,因为它接近完成。 你可以在github上查看源代码。 阅读自述文件以查看示例以及当前版本可能的内容。

  • 与大量使用string的SharpCouch不同,Ottoman使用generics自动序列化和序列化来映射JSONstring中的对象,反之亦然。 所有这些都没有你的对象需要inheritance一个接口或基类。
  • 它使用下面的Json.Net来处理JSON序列化和反序列化。
  • 将CouchDB返回的RESTFul错误代码映射到exception。
  • 计划的特征:Id生成器,用于为持久保存的对象生成Id
  • 计划function:通过文档修订隐式离线乐观locking ,奥斯曼将使用身份地图来追踪您,并在冲突发生时抛出exception。
  • 计划的function:它将是单声道兼容的。
  • 计划function:这是在路上,但我打算为您使用JavaScriptexpression到CouchDB的Map / Reducefunction的 LINQexpression式。

这是一个相当新的项目,但非常活跃。 当然,我也有点偏颇。 😉

也看看沙发 – 一个轻量级的包装的CDB API

我已经使用JSON.NET与MS REST入门工具包的http客户端类集成到CouchDB中,它工作得非常好。

CouchDB的wiki有一个C#的API列表(及其function),如果你想获得最新的状态: http : //wiki.apache.org/couchdb/Getting_started_with_C%23

查看放松http://www.sharplearningcurve.com/wiki/Symbiote-Relax.ashx 。 Relax是CouchDB(优秀的)RESTful API的一个“.Net API”抽象。它包括一个用于文档交互的基于存储库的接口和一个用于pipe理types任务的服务器控制器。