.NET で CouchDB を使用する
質問
.NET (マネージ コード) は CouchDB の読み取りと書き込みを行うことができますか?
CouchDB を使用してドキュメント管理を行うプロジェクトの一部を構築したいと考えています
解決
SharpCouchするユーティリティクラスます。
これは、CouchDBのHTTP APIの単純なラッパークラスです。
他のヒント
返事が遅くなりましたが、ぜひチェックしてください ハンモック. 。これは現在アクティブであり、間もなくいくつかのプロジェクトで実稼働環境での使用が開始され、定期的に更新と修正が提供されます。基本的なオブジェクトの永続性に加えて、Hammock は次の機能を提供します。
- まさにポコ。「id」プロパティも必要ありません。Hammock はそれを内部的に追跡します。
- ビューの生成と実行の両方を行う使いやすい流暢な API や、カスタム マップ/リデュース ビューの作成のサポートなど、ビューの強力なサポート。
- 添付ファイルのサポート。
- ジェネリック
Repository<>
クエリ/ビューを取得するのに役立つクラス (つまり、_Design doc) を C# アプリケーション コードと一緒に使用します。リポジトリは _design ドキュメントを維持する責任を負い、これにより CouchDB ビューが次のように感じられるのを防ぐことができます。 ストアドプロシージャ. - 完全な単体テスト スイート。これはプロトタイプ ソフトウェアではありません。
あなたは、一般的にRESTとJSON上のCouchDBと通信していることを考えると、私は<それを使用するにはあまりにも難しいことではないでしょう想像するのhref = "http://james.newtonking.com/pages/json-net.aspx "REL =" nofollowをさnoreferrer "> JSON.NET とそれを行うには、通常のWebクライアント/ HttpWebRequestのクラス。私はそれを自分で試したことがない、あなたの心...
リトルゲーム後半にはなくシリアライズ(切り替え)のためNewtonsoftのJSON.Net非同期HTTPクライアント上で、デフォルトではC#で書かれた新しいドライバのためのオープンソースプロジェクトがあります。 MyCouch - 。.NET用のCouchDBクライアント非同期シンプルの
はじめにポストがここに存在している:<のhref = "http://danielwertheim.se/get-up-and-running-with-couchdb-and-c-using-mycouch-on-windows/" のrel = "nofollowをnoreferrer"> http://danielwertheim.se/get-up-and-running-with-couchdb-and-c-using-mycouch-on-windows/ の
目を離さない オスマン帝国 C# で書かれたオープンソース プロジェクト。まだ開発中ですが、計画段階のプロジェクトのオプションとして指摘しておきたいと思います。完成に近づき次第、この記事を更新します。ソースは次で見ることができます ギットハブ. 。README を読んで、例と現在のバージョンで何ができるかを確認してください。
- 文字列を使用する SharpCouch とは異なり、 オスマン帝国では、ジェネリックを多用しています。 自動シリアル化と オブジェクトをマッピングするための desrialization JSON文字列から、またはその逆です。これらはすべて、オブジェクトを必要とせずに インターフェイスまたはベースを継承するには クラス。
- その下の Json.Net を JSON のシリアル化を処理し、 逆シリアル化。
- CouchDB の RESTFul エラーコードをマップします。 Exceptionsに戻ります。
- 予定されている機能:身分証明書 の ID を生成するためのジェネレータ 永続化されるオブジェクト
- 予定されている機能:暗黙 オフライン オプティミスティック・ロック ドキュメント経由 改訂版では、オスマン帝国は アイデンティティマップ 追跡する あなたは例外をスローします。 競合が発生します。
- 予定されている機能:モノラル対応となります。
- 予定されている機能:これは今後の話ですが、私は計画を立てています LINQ式を持つこと マップ/リデュース関数 あなたは JavaScript を使用して CouchDB に表現します。
かなり新しいプロジェクトですが、非常に活発です。もちろん、私も少し偏見を持っています。;-)
また、ソファのを見てみましょう
私はと一緒にJSON.NETを使用していました CouchDBのに統合するMS RESTスターターキットのHTTPクライアントクラス そしてそれは本当によく働きます。
最新のステータスが必要な場合は、CouchDB の wiki に C# 用 API (その機能を含む) のリストがあります。 http://wiki.apache.org/couchdb/Getting_started_with_C%23
は、CouchDBのための.NET APIを使用することは非常に簡単にあなたがのhttpからつかむことができWDK10に含ま:// code.google.com/p/skitsanoswdk/は、それは非常に柔軟であり、あなたがオブジェクトと純粋なJSONのレベルで自分のデータを扱うことができますします。
オプション (最新のアップデート順に並べる):
- Skitsanos ウェブウェア開発キット http://code.google.com/p/skitsanoswdk/source/browse/trunk/WDK10/WDK.API.CouchDb/ 最新の更新は9月です。2012年
- リラックスネット/ハンモック http://code.google.com/p/relax-net/ 最新の更新は11月です。2011年
- カウチDB.Net http://couchdbnet.codeplex.com/ 最新アップデート12月2010年
- オスマン帝国 https://github.com/sinesignal/ottoman 最新アップデート12月2010年
- ディバン https://github.com/foretagsplatsen/Divan 最新アップデート 2010 年 7 月
- シャープカウチ http://code.google.com/p/couchbrowse/source/browse/trunk/SharpCouch/SharpCouch.cs 最新の更新は8月です。2008年
http://www.sharplearningcurve.com/wiki/Symbiote-リラックスチェックアウトRelax.ashxする。リラックス「のCouchDBの(素晴らしい)RESTfulなAPIの純APIの抽象化。これは、文書の相互作用および管理タイプのタスクのためのサーバ制御のためのリポジトリベースのインタフェースを備えています。」です。
もう一つ - CouchDBClient: https://github.com/ttutisani/CouchDBClientする
免責事項:私は著者です。
私は、カスタムオブジェクトで動作するようにCouchDBClientがより使いやすくしようとした - それは、データベース内で通常どのようなアプリケーションストアです。
。戻る私はこのフレームワークを書き始めたとき、私が発見し、(彼らが何をしたかを推測するためにさまざまな規則や困難を使用して、指定された)非標準化メソッドのシグネチャの印象を作っていた試みた他のすべてではなく、統一されたインタフェース(文字列の周りにいくつかの操作JSONドキュメントの周りの他の人が)、非常に柔軟ではない(一部は、文字列、オブジェクトのみを持つなど)、または非常に抽象的ではないとだけ働いている間のドキュメントは、()が正しくそれらを使用する最初のCouchDBのREST APIを知っていました。私は仮定して、彼らはそれ以来成熟してきたが、少なくともこの1は私の好みまでに設計されて願っています。
私はCouchDBClientがあまりにも多くの基本的なAPIを気にすることなく、快適な抽象化の感覚を作成することができることを期待し、ちょうどあなたのアプリケーションに焦点を当て、どのようにそれを格納し、それを必要とするオブジェクトを取得しています。