.NET

2009-06-26 5 views
51

के साथ CouchDB का उपयोग करें .NET (प्रबंधित कोड) CouchDB को पढ़ और लिख सकते हैं?.NET

मैं अपने प्रोजेक्ट कि CouchDB

का उपयोग कर दस्तावेज़ प्रबंधन करता है का एक हिस्सा बनाने के लिए करना चाहते हैं

उत्तर

19

SharpCouch उपयोगिता वर्ग पर एक नज़र डालें।

यह कॉच डीबी HTTP एपीआई के लिए एक साधारण रैपर वर्ग है।

+0

का उपयोग करके समाप्त हुआ 'लिट्जसन का उपयोग करके; //? –

+0

ऐसा लगता है कि शार्पचच व्हील को फिर से लिखने के बजाय जेसन कार्यों के लिए लिट्जसन का उपयोग करता है ... – ChrisFletcher

+1

ऐसा लगता है कि उत्तर पुराना है। शार्पचॉच: 5 अगस्त, 2008_ _last परिवर्तन - संभव है कि कोड पुराना हो। हैमॉक के बारे में नीचे दिए गए उत्तर के लिए: _last मार्च 2011 को प्रतिबद्ध करें। परियोजना की स्थिति: archived_। ऐसा लगता है कि दोनों परियोजनाएं मर चुकी हैं। @Daniel https://github.com/danielwertheim/mycouch द्वारा उल्लिखित एक अन्य है जो काफी जीवित है और यहां तक ​​कि एक Aspnet.Identity CoachDB कार्यान्वयन भी है। – Kuncevic

9

यह देखते हुए कि आप आम तौर पर बाकी और JSON से अधिक CouchDB के साथ संवाद, मैं कल्पना करता है कि यह बहुत JSON.NET उपयोग करने के लिए मुश्किल नहीं होगा और सामान्य वेब क्लाइंट/HttpWebRequest कक्षाएं इसे करने के लिए। मैंने इसे स्वयं नहीं किया है, आपको दिमाग ...

+0

यहां एक छोटे से विषय पर टिप्पणी करना - JSON.NET के साथ आपका अनुभव कैसा रहा है? .NET 3.5 sp1 में JSON को डेटा क्रमबद्ध करने के तरीके नहीं हैं? – Developer

+0

मैंने बिल्ट-इन सीरियलाइज़र का उपयोग नहीं किया है, और मैंने केवल JSON.NET का उपयोग किया है - लेकिन बाद वाले ने स्टैक ओवरफ्लो JSON के साथ ठीक काम किया है। –

+1

JSON.NET का LINQ समर्थन बहुत आसान है यदि आप जेएसओएन को एक निश्चित सी # कक्षा में deserializing बिना पार्स करना चाहते हैं - यह LINQ-to-XML का उपयोग करने के समान ही है। –

10

हां।

विंडोज़ पर कॉच डीबी स्थापित करने के निर्देशों के लिए here देखें।

यहां getting started with C# विकी आलेख का एक लिंक है। उस लेख में एक नेट रैपर का एक लिंक है। अपने आप को भी रोल करना बहुत आसान होगा।

+1

मैं यहां थोड़ा अपडेट करना चाहता हूं: मैंने अपने विंडवॉस लैपटॉप पर सोफे डीबी स्थापित किया, और यह बहुत आसान था। बस सोफेबेस साइट पर जाने के लिए, डाउनलोड करें और इंस्टॉल करें। आप अपडेट के लिए धन्यवाद, – NicoGranelli

+0

@NicoGranelli में फ़्यूटन के साथ खेलेंगे। पिछले दो सालों में खिड़कियों पर कॉचडब एक लंबा सफर तय कर चुका है। – ScottS

+0

इस प्रश्न को एक खोज में मिला, विकी आलेख से लिंक का उपयोग किया और मैं [LoveSeat] (https://github.com/soitgoes/LoveSeat) – Chris

3

मैंने के साथ JSON.NET का उपयोग किया है, एमएस रीस्ट स्टार्टर किट के http क्लाइंट क्लास को CouchDB में एकीकृत करने के लिए और यह वास्तव में अच्छी तरह से काम करता है।

6

Ottoman पर एक नजर रखें जो सी # में लिखी गई एक ओपन-सोर्स प्रोजेक्ट है। यह अभी भी भारी विकास में है, लेकिन मैं इसे नियोजन चरणों में परियोजनाओं के विकल्प के रूप में इंगित करना चाहता था। मैं इस पोस्ट को अपडेट कर दूंगा क्योंकि यह पूरा होने के करीब आता है। आप github पर स्रोत देख सकते हैं। उदाहरण देखने के लिए README पढ़ें और वर्तमान संस्करण के साथ क्या संभव है।

  • SharpCouch है, जो तार भारी, तुर्क स्वचालित क्रमबद्धता और JSON स्ट्रिंग से एक वस्तु मानचित्रण और इसके विपरीत के लिए desrialization के लिए जेनरिक का उपयोग करता है का उपयोग करता है के विपरीत। इंटरफ़ेस या आधार कक्षा के उत्तराधिकारी के लिए की आपकी ऑब्जेक्ट के बिना यह सब कुछ आवश्यक है।
  • यह के नीचे जेसन.Net का उपयोग करता है जो JSON क्रमबद्धता और deserialization को संभालता है।
  • रीस्टफुल त्रुटि कोड मैप्स जो CouchDB अपवादों में लौटता है।
  • नियोजित फ़ीचर: दस्तावेज के माध्यम से अंतर्निहित Offline Optimistic Lock संशोधन, तुर्क एक Identity Map आप के लिए ट्रैक रखने के लिए उपयोग किया जाएगा और जब एक अपवाद फेंक देगा: के लिए ईद के पैदा करने के लिए आईडी जनरेटर वस्तुओं कायम की जा रही
  • नियोजित फ़ीचर एक संघर्ष होता है।
  • नियोजित फ़ीचर: यह मोनो संगत होगा।
  • नियोजित सुविधा: इस सड़क के नीचे है, लेकिन मैं Map/Reduce functions के लिए LINQ भाव जो आप JavaScript का उपयोग CouchDB को व्यक्त होने पर योजना है।

यह एक बिल्कुल नई परियोजना है, लेकिन बहुत सक्रिय है। बेशक, मैं थोड़ा पक्षपातपूर्ण भी हूँ।CDB एपीआई

4

भी divan पर एक नज़र डालें। यह सक्रिय है और जल्द ही कई परियोजनाओं पर उत्पादन के उपयोग में जा रहा है और नियमित अपडेट और फिक्स प्राप्त कर रहा है। बुनियादी वस्तु दृढ़ता इसके अलावा, झूला आप देता है:

  • सच POCO। आपको 'आईडी' संपत्ति की भी आवश्यकता नहीं है; हैमॉक आंतरिक रूप से ट्रैक करता है।
  • एक आसान कस्टम मानचित्र बनाने के लिए धाराप्रवाह एपीआई कि दोनों उत्पन्न करता है और विचारों को निष्पादित करता है, और समर्थन का उपयोग करने सहित दृश्य, के लिए मजबूत समर्थन/दृश्यों को कम।
  • संलग्नक समर्थन करते हैं।
  • एक सामान्य भंडार <> वर्ग अपने ग # आवेदन कोड के साथ अपने प्रश्नों के लिए/विचारों (अर्थात _Design doc) लाने के साथ मदद करता है। रिपोजिटरीज _ डिज़ाइन दस्तावेज़ों को बनाए रखने के लिए ज़िम्मेदार हैं, और इससे कॉच डीबी विचारों को 'संग्रहित प्रोसेस' की तरह महसूस करने में मदद मिलती है।
  • एक पूर्ण इकाई परीक्षण सूट। यह प्रोटोटाइप सॉफ्टवेयर नहीं है।
+0

पर उपयोग करना मुश्किल हो जाता है, मुझे सोफेडबी में पीओसीओ स्टोर करने की आवश्यकता है। मैंने दिवान, ड्रीमसीट, लवसैट, आराम का परीक्षण किया। मुझे दिवान को छोड़कर उन लोगों के साथ समस्याएं थीं। मैं वीएस 2010 + .NET 4. –

21

यह एक देर से उत्तर के लिए एक हल्के वजन आवरण है, लेकिन Hammock की जाँच करते हैं - ;-)

+1

पर हूं, धन्यवाद, आराम-नेट दिखने का वादा करता हूं। – Developer

+0

यह आश्चर्यजनक ओ.ओ. लगता है – SvenFinke

0

आराम http://www.sharplearningcurve.com/wiki/Symbiote-Relax.ashx देखें। रिलैक्स "कोच डीबी (उत्कृष्ट) रीस्टफुल एपीआई का नेट एपीआई अबास्ट्रक्शन है। इसमें दस्तावेज़ इंटरैक्शन के लिए एक रिपोजिटरी-आधारित इंटरफेस और प्रशासनिक प्रकार के कार्यों के लिए सर्वर नियंत्रक शामिल है।"

2

बहुत आसान नेट एपीआई का उपयोग करने के लिए CouchDB WDK10 कि आप http://code.google.com/p/skitsanoswdk/ से प्राप्त कर सकते हैं यह बहुत लचीला है और आप वस्तुओं और शुद्ध json स्तर पर अपने डेटा से निपटने के लिए अनुमति देता है में शामिल थे।

2

विकल्प (अद्यतन नवीनतम द्वारा आदेश दिया):

9

खेल के लिए देर से छोटे लेकिन वहाँ क्रमबद्धता (switchable) के लिए Newtonsoft के JSON.Net async HTTP क्लाइंट पर और डिफ़ॉल्ट रूप से सी # में लिखा एक नया ड्राइवर के लिए एक खुला स्रोत परियोजना है।MyCouch - Simple async CouchDb client for .Net.

एक आरंभ कर रहे हैं के बाद यहां मौजूद है: http://danielwertheim.se/get-up-and-running-with-couchdb-and-c-using-mycouch-on-windows/

0

एक और - CouchDBClient: https://github.com/ttutisani/CouchDBClient

अस्वीकरण: मैं लेखक हूं।

मैंने कस्टम ऑब्जेक्ट्स के साथ काम करने के लिए कॉच डीबीसीलिएंट को और अधिक अनुकूल बनाने की कोशिश की - आमतौर पर डेटाबेस में एप्लिकेशन स्टोर करते हैं।

वापस जब मैंने इस ढांचे को लिखना शुरू किया, तो मैंने जो अन्य पाया और कोशिश की, अन्य गैर-मानकीकृत विधि हस्ताक्षर (विभिन्न सम्मेलनों का उपयोग करके नामित और अनुमान लगाया गया कि वे क्या किया) का एक प्रभाव बना रहे थे, एकीकृत इंटरफेस नहीं (आसपास के कुछ ऑपरेशन स्ट्रिंग डॉक्स, जबकि जेसन डॉक्स के आसपास अन्य), बहुत लचीला नहीं (कुछ केवल स्ट्रिंग्स के साथ काम करते थे, अन्य केवल ऑब्जेक्ट्स के साथ काम करते थे), या बहुत अमूर्त नहीं था (पहले उन्हें सही तरीके से उपयोग करने के लिए कॉच डीबी रीस्ट एपीआई को जानना था)। मैं मान रहा हूं और उम्मीद कर रहा हूं कि वे तब से परिपक्व हो गए हैं, लेकिन कम से कम यह मेरे स्वाद के लिए तैयार किया गया है।

मैं आशा करती हूं कि CouchDBClient अंतर्निहित API के बारे में बहुत ज्यादा चिंता किए बिना आराम से अमूर्त की भावना पैदा कर सकते हैं, और सिर्फ आपके आवेदन पर ध्यान केंद्रित कर, और कैसे यह भंडार और वस्तुओं इसकी आवश्यकता है प्राप्त करता है।

संबंधित मुद्दे