2010-01-19 14 views
5

आप सहकर्मी को LINQ वाक्यविन्यास को कैसे बढ़ावा देते हैं और/या बेचते हैं जो चीज़ करने के मैन्युअल तरीके से लाभ नहीं देखता है?LINQ को सहकर्मी को कैसे बढ़ावा देना और/या बेचना है?

बिना किसी LINQ के सादे ado.net का उपयोग करने के बजाय लिंक से एंटीटी/एसक्यूएल का उपयोग करने के उदाहरण के लिए।

उत्तर

13

मैं व्यक्तिगत रूप से LINQ से ऑब्जेक्ट्स के साथ शुरू करूंगा। आपको तब किसी भी खरीद-इन की आवश्यकता नहीं है - आप अपने कोड में LINQ का उपयोग कर सकते हैं, उसे अपने कोड में फ़ोरैच लूप, परिस्थितियों आदि का उपयोग करने दें ... और अंततः वह देख सकता है कि आपका कोड अधिक घोषणात्मक, स्पष्ट और छोटा है।

ओआरएम बनाम सादा एडीओ.NET का उपयोग करने का निर्णय एक बड़ा है, आईएमओ - और केवल LINQ वाक्यविन्यास से परे रैमिकेशंस के साथ एक है।

+2

मैंने इसे इस तरह से किया है, और मेरे कुछ कॉलेज धीरे-धीरे इसे अपनाने शुरू कर रहे हैं। –

0

उन्हें my projection demo दिखाएं और उनसे पूछें कि ADO.NET में एक ही चीज़ करने के लिए यह कितना कोड लेगा। फिर इंगित करें कि असली दुनिया में शायद भंडार और सेवाएं होंगी, जो आप LINQ अनुमानों के साथ लगभग मुक्त हो जाते हैं।

फिर उन्हें parallel extensions in .NET 4 दिखाएं।

0

लाभों में से कुछ:

  • तुम बस डेटाबेस नहीं है, लेकिन एक्सएमएल फाइल या किसी भी वस्तु संग्रह एक ही वाक्य रचना साथ क्वेरी कर सकता है - इस
  • usign मापदंडों लंबे समय पर उपयोगी है उदाहरण के बारे में चिंता करने के लिए आसान है, की आवश्यकता नहीं है एसक्यूएल इंजेक्शन
  • आप कर सकते हैं रिश्तों स्पष्ट रूप से शामिल होने के लिए बिना भर में क्वेरी, like this

सब मैं कहेंगे का सबसे बड़ा लाभ पहला बिंदु, एक ही और सरल वाक्य रचना है।

हालांकि यदि आपका सहयोगी डेटाबेस फ़ील्ड में एक विशेषज्ञ है तो वह तुरंत स्विच नहीं करना चाहता है। LINQ तत्काल लाभ नहीं लाता है, खासतौर पर चल रही परियोजनाओं पर नहीं, बल्कि यह मेरी राय में मध्य अवधि पर भी अधिक कुशल बनाता है।

2

LINQ का महान - लेकिन अतिरिक्त तकनीकों को पेश करने पर सावधानी बरतें, खासकर जब आपकी कंपनी पहले से ही मानक पर बस गई है। एक ही चीज करने के 100 अलग-अलग तरीकों का समर्थन करने के बजाय किसी डेवलपर के लिए और अधिक महंगा नहीं है।

2

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

1

मुझे लगता है कि आप इस मामले को भी बना सकते हैं कि वह दोनों परियोजनाओं और उनके व्यक्तिगत कौशल को नवीनतम उपकरणों और विकास के साथ कदम में रखेगा ... जैसा कि उपर्युक्त सभी के लिए बोनस है।

0

उन्हें बताएं कि आपने पुनर्विचार किया है: अब आप LINQ को नापसंद करते हैं और इसे जाने का एक भयानक तरीका सोचते हैं।

यह चाल चलाना चाहिए। बस मजाक कर रहे हैं (ज्यादातर)।

1

ब्राउन बैग लंच सत्र। स्क्रीन पर अपना कोड प्रोजेक्ट करें और दिखाएं कि उसकी 20 लाइनों को 2 या 3 में फिर से लिखा जा सकता है।

यह सब कुछ मैंने इसे दिखाया है।

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