Подтвердить что ты не робот

Использовать CouchDB с .NET.

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

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

4b9b3361

Ответ 1

Взгляните на класс SharpCouch.

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

Ответ 2

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

  • Истинный POCO. Вам даже не нужно свойство id; Гамак отслеживает это внутренне.
  • Надежная поддержка представлений, в том числе простой в использовании плавный API, который генерирует и выполняет представления, а также поддержка создания пользовательских карт/сокращения представлений.
  • Поддержка вложений.
  • Универсальный класс Repository<> который помогает объединить ваши запросы/представления (т.е. _Design doc) и код вашего приложения на С#. Хранилища отвечают за ведение _design документов, и это помогает не допустить ощущения представлений CouchDB как хранимых процедур.
  • Полный набор модульных тестов. Это не прототип программного обеспечения.

Ответ 3

Да.

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

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

Ответ 4

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

Ответ 5

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

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

Ответ 6

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

  • В отличие от SharpCouch, в котором используются строки В значительной степени Османская империя использует дженерики для автоматическая сериализация и десриализация для отображения объекта из строки JSON и наоборот. Все это без ваших объектов, требующих наследовать интерфейс или базу класс.
  • Он использует Json.Net под обрабатывать сериализацию JSON и десериализации.
  • Отображает коды ошибок RESTFul, которые CouchDB возвращается в Исключения.
  • Планируемая функция: Id генераторы для генерации Id для объекты сохраняются
  • Запланированная функция: неявная Offline Оптимистический замок через документ Исправления, Оттоманка будет использовать Identity Map, чтобы отслеживать вы и будете генерировать исключение, когда возникает конфликт.
  • Запланированная функция: она будет совместима с Mono.
  • Запланированная функция: это по дороге, но я планирую при наличии выражений LINQ для Карта/Уменьшить функции, которые вы Express для CouchDB с использованием JavaScript.

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

Ответ 7

также взгляните на диван - легкая обертка для CDB API

Ответ 8

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

Ответ 10

Очень простой в использовании .NET API для CouchDB, входящий в WDK10, который вы можете захватить из http://code.google.com/p/skitsanoswdk/, он очень гибкий и позволяет вам обрабатывать ваши данные об объектах и ​​чистом уровне json.

Ответ 11

Параметры (упорядоченные по последнему обновлению):

Ответ 12

Отъезд Relax http://www.sharplearningcurve.com/wiki/Symbiote-Relax.ashx. Relax - это аббревиатура API-интерфейса CatchDB (отлично) RESTful API.Net API. Он включает в себя интерфейс для взаимодействия с документами на основе репозитория и серверный контроллер для задач административного типа.

Ответ 13

Еще один - CouchDBClient: https://github.com/ttutisani/CouchDBClient

Отказ от ответственности: я автор.

Я попытался сделать CouchDBClient более удобным для работы с пользовательскими объектами - то, что обычно хранят приложения в базе данных.

Когда я начинал писать эту платформу, все остальные, которые я нашел и попробовал, производили впечатление нестандартных сигнатур методов (названных с использованием различных соглашений и сложнее угадать, что они сделали), не унифицированных интерфейсов (некоторые операции со строковыми документами, в то время как другие, связанные с документами json), не очень гибкие (некоторые работали только со строками, другие - только с объектами) или не очень абстрактные (чтобы правильно использовать их, сначала нужно было знать API REST CouchDB). Я предполагаю и надеюсь, что они созрели с тех пор, но по крайней мере этот разработан на мой вкус.

Я надеюсь, что CouchDBClient может создать ощущение удобной абстракции, не беспокоясь о лежащем в основе API, а просто сосредоточившись на вашем приложении и на том, как оно хранит и извлекает нужные ему объекты.