2011-06-05 14 views
32

मैं एक exisiting एमवीसी 3 परियोजना में डैपर के साथ शुरू करने की कोशिश कर रहा हूं और हालांकि यह उपयोग करने में बहुत आसान लग रहा है, मुझे लगता है कि इसे आंशिक रूप से सेट अप करने के तरीके पर कोई ट्यूटोरियल नहीं मिल रहा है। किसी भी लिंक या सुझावों की अत्यधिक सराहना की जाएगी।डैपर के साथ शुरू करने के लिए कोई अच्छा नमूना?

बहुत बहुत धन्यवाद।

+0

डैपर वास्तव में IDbConnection इंटरफ़ेस को विस्तारित करके काम करता है। आपको कनेक्शन को स्पष्ट रूप से बनाना है, उस पर डैपर के विस्तार विधियों में से किसी एक को कॉल करना है, और उसके बाद कनेक्शन बंद करना है। आप मार्क ग्रेवेल के जवाब में कोड पर एक और नज़र डाल सकते हैं। जब आप सभी कनेक्शन प्रबंधन सामग्री के साथ कोड नमूने पढ़ते हैं तो डैपर का काम खो सकता है। बस उस सब के माध्यम से wade और कनेक्शन ऑब्जेक्ट पर एक एक्सटेंशन विधि कहां कहा जाता है देखो। –

उत्तर

26

यह कुछ हद तक है, क्योंकि सेट करने के लिए कुछ भी नहीं है - आपको केवल एक डेटाबेस (जिस पर इसकी परवाह नहीं है) और कुछ कक्षाएं (जिनके बारे में परवाह नहीं है) की आवश्यकता है।

मूल विधियां केवल पैरामीटरयुक्त एसक्यूएल लेती हैं, और जानबूझकर LINQ-to-SQL की SQL-आधारित विधियों के करीब हैं (संकेत: जब भी हमें LINQ-to-SQL के साथ समस्याएं मिलती हैं तो हम सीधे ड्रॉप-इन प्रतिस्थापन के रूप में डैपर का उपयोग करते हैं) ।

यदि आप कुछ उदाहरण चाहते हैं, तो the "tests" project में कोर एपीआई के उदाहरण शामिल हैं।

यदि आपका मतलब है "मैं डैपर कैसे जोड़ूं" - दो विकल्प; a single file आपकी प्रोजेक्ट में जोड़ा गया, या nuget package। Nuget pacakge थोड़ा सा अंतराल जाता है, लेकिन ज्यादा नहीं।

लेकिन अंतत उपयोग सिर्फ है:

// get all open orders for this customer 
var orders = connection.Query<Order>(
    "select * from Orders where CustomerId = @custId and Status = 'Open'", 
    new { custId = customerId }).ToList(); 

जहाँ आपके Orders वर्ग डेटाबेस (यह एक बहुत ही सीधा नक्शा है) मिलान नाम के साथ गुण है। कोई विशेषताओं की आवश्यकता नहीं है; कोई विशेष टूलींग की आवश्यकता नहीं है। हमारे मामले में, हम इसके साथ LINQ-to-SQL जेनरेटेड क्लास का उपयोग करते हैं, या कॉलम के कुछ सबसेट (या कई तालिकाओं के बीच समग्र) के लिए बनाई गई एक विशिष्ट कक्षा का उपयोग करते हैं।

+0

* "न्यूजेट पॅककेज थोड़ी देर तक गिरता है, लेकिन ज्यादा नहीं।" *। मुझे यह नहीं मिला। आप पैकेज स्थापित करने के लिए अंतराल का मतलब है? – talles

+1

@ talles no, मेरा मतलब था कि यह रेपो में वर्तमान कोड के पीछे एक छोटा सा हो सकता है, जबकि यह स्थिर हो जाता है। –

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