Использование в CouchDB with.NET



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



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

642   13  

13 ответов:

посмотри SharpCouch служебный класс.

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

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

  • True POCO. Вам даже не нужно свойство "id"; гамак отслеживает это внутри.
  • надежная поддержка представлений, включая простой в использовании fluent API, который генерирует и выполняет представления, а также поддержка создания пользовательских отображение / уменьшение видов.
  • поддержка вложений.
  • универсальный репозиторий класс, который помогает объединить ваши запросы / представления (т. е. _design doc) вместе с вашим кодом приложения c#. Репозитории отвечают за поддержание _design docs, и это помогает сохранить представления CouchDB от ощущения "сохраненных процессов".
  • полный комплект модульных тестов. Это не прототип программного обеспечения.

да.

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

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

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

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

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

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

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

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

посмотрите диванный - легкая обертка для cdb api

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

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

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

опции ( заказано по последнему обновлению):

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

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

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

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

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

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

Comments

    Ничего не найдено.