57

.NET (マネージド コード) は CouchDB に対して読み書きできますか?

CouchDB を使用してドキュメント管理を行うプロジェクトの一部を構築したいと考えています。

4

15 に答える 15

22

遅い答えですが、Hammockをチェックしてください。アクティブであり、すぐにいくつかのプロジェクトで本番環境で使用され、定期的な更新と修正が行われています。基本的なオブジェクトの永続性に加えて、Hammock は以下を提供します。

  • 真のポコ。「id」プロパティさえ必要ありません。Hammock はそれを内部的に追跡します。
  • ビューの生成と実行の両方を行う使いやすい流暢な API を含む、ビューの強力なサポート、およびカスタム マップ/縮小ビューの作成のサポート。
  • 添付ファイルのサポート。
  • Repository<>クエリ/ビュー (つまり、_Design doc) を C# アプリケーション コードと組み合わせるのに役立つジェネリッククラス。リポジトリは _design ドキュメントを維持する責任があり、これにより、CouchDB ビューがストアドプロシージャのように感じられなくなります。
  • 完全な単体テスト スイート。これはプロトタイプ ソフトウェアではありません。
于 2009-12-30T16:49:52.430 に答える
18

SharpCouchユーティリティ クラスを見てみましょう。

これは、CouchDB HTTP API の単純なラッパー クラスです。

于 2009-06-26T17:23:28.413 に答える
9

はい。

CouchDB を Windows にインストールする手順については、こちらを参照してください。

これは、 C#入門 wiki 記事へのリンクです。その記事には、.Net ラッパーへのリンクがあります。自分で巻くのもかなり簡単です。

于 2009-06-26T17:20:48.743 に答える
6

C# で記述されたオープンソース プロジェクトであるOttomanに注目してください。まだ開発中ですが、計画段階のプロジェクトのオプションとして指摘したいと思います。完成に近づいたら、この記事を更新します。githubでソースを表示できます。README を読んで、例と現在のバージョンで可能なことを確認してください。

  • 文字列を多用する SharpCouch とは異なり、Ottoman は自動シリアル化と逆シリアル化にジェネリックを使用して、JSON 文字列からオブジェクトをマッピングし、その逆も同様です。オブジェクトがインターフェイスまたは基本クラスを継承する必要はありません。
  • その下で Json.Net を使用して、JSON のシリアル化と逆シリアル化を処理します。
  • CouchDB が返す RESTFul エラー コードを例外にマップします。
  • 計画中の機能: 永続化されるオブジェクトの ID を生成する ID ジェネレーター
  • 計画中の機能:ドキュメント リビジョンによる 暗黙的なオフライン楽観的ロック。OttomanはID マップを使用して追跡し、競合が発生すると例外をスローします。
  • 予定されている機能: Mono と互換性があります。
  • 予定されている機能: これは まだ先ですが、JavaScript を使用して CouchDB に表現するMap/Reduce 関数の LINQ 式を用意する予定です。

かなり新しいプロジェクトですが、非常に活発です。もちろん、私も少し偏見があります。;-)

于 2009-08-18T14:49:22.603 に答える
5

また、divan(cdb apiの軽量ラッパー)もご覧ください。

于 2009-09-10T02:46:06.757 に答える
3

JSON.NET を MS REST スターター キットの http クライアント クラスと組み合わせて使用​​し、CouchDB に統合しましたが、非常にうまく機能します。

于 2009-07-30T07:35:36.213 に答える
3

最新のステータスが必要な場合は、CouchDB の wiki に C# の API のリスト (およびその機能) があります: http://wiki.apache.org/couchdb/Getting_started_with_C%23

于 2014-06-06T20:00:59.397 に答える
2

http://code.google.com/p/skitsanoswdk/から取得できる WDK10 に含まれる CouchDB 用の非常に使いやすい .NET APIは非常に柔軟で、オブジェクトおよび純粋な json レベルでデータを処理できます。

于 2011-01-24T21:31:49.717 に答える
2

オプション (最新の更新順):

于 2012-09-28T09:05:17.027 に答える
1

もう 1 つ - CouchDBClient: https://github.com/ttutisani/CouchDBClient

免責事項: 私は著者です。

私は、CouchDBClient をカスタム オブジェクトでより使いやすいものにしようとしました。これは通常、アプリケーションがデータベースに格納するものです。

私がこのフレームワークを書き始めたとき、私が見つけて試した他のものはすべて、標準化されていないメソッド署名 (さまざまな規則を使用して名前が付けられ、それらが何をしたかを推測するのが難しい) の印象を与えていました。統一されたインターフェイス (文字列ドキュメントに関するいくつかの操作、 json ドキュメントに関連する他のもの)、あまり柔軟ではない (文字列のみで動作するものもあれば、オブジェクトのみで動作するものもありました)、またはあまり抽象的ではありません (正しく使用するには、最初に CouchDB REST API を知る必要がありました)。それ以来、彼らが成熟したと仮定し、望んでいますが、少なくともこれは私の好みに合わせて設計されています.

CouchDBClient が、基礎となる API についてあまり心配することなく、アプリケーションと、必要なオブジェクトを格納および取得する方法に集中するだけで、快適な抽象化の感覚を生み出すことができることを願っています。

于 2018-01-11T14:01:55.097 に答える
0

Relax http://www.sharplearningcurve.com/wiki/Symbiote-Relax.ashxをチェックしてください。Relax は、「CouchDB の (優れた) RESTful API を .Net API で抽象化したものです。これには、ドキュメント インタラクション用のリポジトリ ベースのインターフェイスと、管理タイプのタスク用のサーバー コントローラーが含まれています。」

于 2010-05-29T20:49:03.803 に答える