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

我想构建我的项目的一部分,使用 CouchDB 进行文档管理

有帮助吗?

解决方案

看一看的 SharpCouch 工具类。

它为HTTP的CouchDB API一个简单的包装类。

其他提示

它是一个迟到的答案,但是做检查了 吊床.它的活动和投入生产上使用的一些项目很快和定期接受更新和修正。除了基本的对象持久化,吊床给你:

  • 真POCO。你甚至不需要一个'id'财产;吊床的轨道在内部。
  • 强大的支持意见,包括一个易于使用的流利API,这两个产生和执行意见,并支持创建的定制地图/减少景。
  • 附件支持。
  • 一般 Repository<> 类,有助于把你的查询意见(即_Design doc)一起你c#应用程序的代码。仓库负责维护_design文件,这有助于保持CouchDB景的感觉 储存过程.
  • 一个完整的单元。这不是原型软件。

请参阅此处指令上的窗户安装CouchDB的。

下面是href="http://wiki.apache.org/couchdb/Getting_started_with_C%23" rel="noreferrer">开始使用C# wiki文章的

既然你通常使用CouchDB通过REST和JSON沟通

,我想这不会是太难用的 JSON.NET 和正常Web客户端/ HttpWebRequest的类来做到这一点。我还没有尝试过自己,你要知道...

虽然有点晚了,但有一个开源项目,用于通过异步 HTTP 客户端和默认情况下使用 Newtonsoft 的 JSON.Net 进行序列化(可切换)的 C# 编写的新驱动程序。 MyCouch - 适用于 .Net 的简单异步 CouchDb 客户端.

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

保持眼睛 奥斯曼 一个开放源码项目编写的。它仍然是在重大发展,但我想指出它作为一个选项的项目在规划阶段。我会更新这一员额,因为它得到接近完成。你可以查看的来源 .阅读自述,请参见例子及什么是可能与目前的版本。

  • 不像SharpCouch,它使用的字符串 重,奥斯曼帝国采用泛型为 自动化和 desrialization进行映射的对象 从JSON串反之亦然。所有这一切都没有你需要的对象 继承了一个接口或基 类。
  • 它使用Json.Net 下来 处理id化和 反.
  • 地图的宁静的错误代码CouchDB 返回到例外情况。
  • 计划的特点:Id 发电机产生的Id 的对象,正在坚持
  • 计划的特点:隐 离线 乐观的锁 通过的文件 修订版,奥斯曼帝国将使用一个 身份地图 来跟踪 你会把一个异常的时候 冲突发生。
  • 计划的特点:它将单兼容。
  • 计划的特点:这是下降的道路,但是我做计划 在具有皇宫表达式 地图/降低职 这你 快到CouchDB使用JavaScript。

这是一个相当新的项目,但非常活跃。当然,我有点偏见。;-)

也看看沙发椅 - 重量轻的包装为CDB API

我已经使用JSON.NET结合 在MS REST入门工具包的HTTP客户端类集成到CouchDB的 和它的作品真的很好。

CouchDB的wiki有API为C#中的列表(及其功能),如果你想要最新的状态:的 http://wiki.apache.org/couchdb/Getting_started_with_C%23

很容易的CouchDB纳入WDK10,你可以从 HTTP抢使用.NET API:// code.google.com/p/skitsanoswdk/ 的是非常灵活的,允许你来处理对象和纯JSON级别的数据。

选项(订购的最新更新):

签出放松 http://www.sharplearningcurve.com/wiki/Symbiote- Relax.ashx 。放松是“CouchDB的(优)的RESTful API的.NET API的抽象。它包括文件交互和行政类型任务的服务器控制器基于储存库的接口。”

一个更 - CouchDBClient: https://github.com/ttutisani/CouchDBClient

免责声明:我是作者

我试图让CouchDBClient更友好的自定义对象的工作 - 这就是通常应用商店数据库中的

当我开始写这个框架

返回,我发现并试图分别做了非标准化的方法签名的印象(使用不同的约定,更难猜测他们做了什么命名)所有其他人,没有统一的接口(左右字符串的一些操作文档,而周围的JSON文档等),不是很灵活(有的只用绳子,其他人只能使用对象),或者不是很抽象的工作(必须知道CouchDB的REST API首先要正确地使用它们)。我假设,并希望此后他们已经成熟,但至少这一个被设计到了我的口味。

我希望CouchDBClient可以创造出舒适的抽象的感觉,而不必担心底层的API太多,只是专注于你的应用程序,它如何存储和检索对象的需要。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top