Используйте CouchDB с .NET - PullRequest
52 голосов
/ 26 июня 2009

Может ли .NET (управляемый код) читать и писать в CouchDB?

Я бы хотел создать часть моего проекта, которая бы управляла документами с использованием CouchDB

Ответы [ 13 ]

21 голосов
/ 30 декабря 2009

Это поздний ответ, но проверьте Гамак . Он активен и скоро будет запущен в производство в нескольких проектах и ​​регулярно получает обновления и исправления. Помимо основного постоянства объекта, гамак дает вам:

  • True POCO. Вам даже не нужно свойство id; Гамак отслеживает это внутренне.
  • Надежная поддержка представлений, в том числе простой в использовании API-интерфейс, который одновременно генерирует и выполняет представления, а также поддержка создания пользовательских карт / уменьшения представлений.
  • Поддержка вложений.
  • Общий Repository<> класс, который помогает объединить ваши запросы / представления (т. Е. _Design doc) вместе с кодом вашего приложения на c #. Репозитории отвечают за ведение _design документов, и это помогает не допустить ощущения представлений CouchDB как сохраненных процедур .
  • Полный комплект модульных тестов. Это не прототип программного обеспечения.
19 голосов
/ 26 июня 2009

Взгляните на служебный класс SharpCouch .

Это простой класс-оболочка для API CouchDB HTTP.

10 голосов
/ 26 июня 2009

Да.

См. здесь для инструкций по установке CouchDB на Windows.

Вот ссылка на начало работы с C # вики-статьей. В этой статье есть ссылка на .Net-оболочку. Было бы довольно легко накатить и свою собственную.

9 голосов
/ 29 апреля 2013

Немного поздно в игре, но есть проект с открытым исходным кодом для нового драйвера, написанного на C # для асинхронного HTTP-клиента и по умолчанию JSON.Net для сериализации (переключаемый) от Newtonsoft. MyCouch - Простой асинхронный клиент CouchDb для .Net.

Сообщение о начале работы существует здесь: http://danielwertheim.se/get-up-and-running-with-couchdb-and-c-using-mycouch-on-windows/

9 голосов
/ 26 июня 2009

Учитывая, что вы обычно общаетесь с CouchDB через REST и JSON, я бы предположил, что для этого не составит труда использовать JSON.NET и обычные классы WebClient / HttpWebRequest. Я сам не пробовал, заметьте ...

6 голосов
/ 18 августа 2009

Следите за Ottoman проектом с открытым исходным кодом, написанным на C #. Он все еще находится в тяжелом развитии, но я хотел бы указать его как вариант для проектов на стадии планирования. Я буду обновлять этот пост по мере приближения к завершению. Вы можете просмотреть источник на github . Прочитайте README, чтобы увидеть примеры и то, что возможно с текущей версией.

  • В отличие от SharpCouch, который использует строки в значительной степени, Османская использует дженерики для автоматическая сериализация и десериализация для отображения объекта из строки JSON и наоборот. Все это без необходимости ваших объектов наследовать от интерфейса или базы класс.
  • Он использует Json.Net под обрабатывать сериализацию JSON и десериализации.
  • Сопоставляет коды ошибок RESTFul, которые CouchDB возвращается в исключения.
  • плановая функция: идентификатор генераторы для генерации идентификаторов для сохраняемые объекты
  • Запланированная функция: неявная Не в сети Оптимистическая блокировка через документ Редакции, Османская будет использовать Карта удостоверений для отслеживания Вы и будете бросать исключение, когда возникает конфликт.
  • Запланированная особенность: это будет моно-совместимость.
  • Запланированная особенность: это в будущем, но я планирую на наличие выражений LINQ для Карта / Уменьшить функции которые вы Экспресс в CouchDB с использованием JavaScript.

Это довольно новый проект, но очень активный. Конечно, я тоже немного предвзят. ; -)

5 голосов
/ 10 сентября 2009

также взгляните на divan - легкую оболочку для CDB API

3 голосов
/ 07 июня 2014

В вики CouchDB есть список API для C # (с их функциями), если вы хотите последний статус: http://wiki.apache.org/couchdb/Getting_started_with_C%23

3 голосов
/ 30 июля 2009

Я использовал JSON.NET в сочетании с клиентский класс MS REST Starter Kit для интеграции в CouchDB и это работает очень хорошо.

2 голосов
/ 28 сентября 2012

Опции (, упорядоченные по последнему обновлению ):

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...