LINQ के बारे में सीखना




linq-to-sql linq-to-entities (7)

कुछ LINQ युक्तियाँ:

  • क्वेरी प्रदर्शन में सुधार करने के लिए शामिल होने से पहले फ़िल्टर लागू करें
  • वस्तु संदर्भ तुलना का उपयोग कर LINQ क्वेरी फ़िल्टर करें
  • LINQ से SQL क्वेरी में खाली संग्रह में योग लागू करें
  • LINQ से SQL में एक संपत्ति लोड करने में देरी
  • उत्सुक लोडिंग के साथ तालिका-मूल्यवान कार्यों का उपयोग करें
  • LINQ से ऑब्जेक्ट क्वेरी में सही क्रम में जुड़ें
  • एक लूप के अंदर एक LINQ क्वेरी लिखें

http://www.aspnetpro.com/articles/2009/04/asp200904zh_f/asp200904zh_f.asp

अवलोकन

इस साइट पर मैंने जो कुछ पूछा है, उनमें से एक LINQ । मेरे द्वारा पूछे गए प्रश्न व्यापक और विविध हैं और अक्सर उनके पीछे अधिक संदर्भ नहीं है। इसलिए मैंने लिंक पर अधिग्रहण किए गए ज्ञान को मजबूत करने के प्रयास में मैं इस प्रश्न को अतिरिक्त जानकारी के साथ बनाए रखने और अपडेट करने के लिए पोस्ट कर रहा हूं क्योंकि मैं LINQ के बारे में जानना जारी रखता हूं।

मुझे यह भी उम्मीद है कि यह LINQ के बारे में जानना चाहते हैं अन्य लोगों के लिए एक उपयोगी संसाधन साबित होगा।

LINQ क्या है?

LINQ :

LINQ प्रोजेक्ट .NET Framework में एक्सटेंशन के सेट के लिए एक कोडनाम है जिसमें भाषा-एकीकृत क्वेरी, सेट और ट्रांसफ़ॉर्मेशन को शामिल किया गया है। यह प्रश्नों के लिए मूल भाषा वाक्यविन्यास के साथ सी # और विजुअल बेसिक का विस्तार करता है और इन क्षमताओं का लाभ उठाने के लिए कक्षा पुस्तकालय प्रदान करता है।

इसका अर्थ यह है कि LINQ एक सामान्य वाक्यविन्यास का उपयोग करके विभिन्न प्रकार के डेटा स्रोतों से पूछने का एक मानक तरीका प्रदान करता है।

LINQ के क्या स्वाद हैं?

वर्तमान में माइक्रोसॉफ्ट द्वारा प्रदान किए गए कुछ अलग LINQ प्रदाता हैं:

यहां कुछ अन्य हैं, जिनमें से कई here सूचीबद्ध here

क्या लाभ हैं?

  • एकाधिक डेटा स्रोतों को क्वेरी करने का मानकीकृत तरीका
  • प्रश्नों की समय सुरक्षा संकलित करें
  • स्मृति वस्तुओं में सेट आधारित संचालन करने के लिए अनुकूलित तरीका
  • प्रश्नों को डीबग करने की क्षमता

तो मैं LINQ के साथ क्या कर सकता हूँ?

Chook सीएसवी फाइलों को आउटपुट करने का एक तरीका प्रदान करता है
Jeff दिखाता है कि सरणी से डुप्लिकेट को कैसे हटाया जाए
बॉब को एक डाटाटेबल से एक अलग आदेशित सूची मिलती है
Marxidad एक सरणी को सॉर्ट करने का तरीका दिखाता है
डाना को लिंक का उपयोग करके त्वरित सॉर्ट को लागू करने में मदद मिलती है

कहा से शुरुवात करे?

गेटकिल्लर के प्रश्न से लिंक का सारांश नीचे दिया गया है :
स्कॉट गुथरी अपने ब्लॉग पर लिंक के लिए एक परिचय प्रदान करता है
एमएसडीएन पर LINQ का एक सिंहावलोकन

ChrisAnnODell सुझाव देता है:

LINQ का उपयोग करने के लिए मुझे क्या चाहिए?

लिंक वर्तमान में वीबी.Net 9.0 और सी # 3.0 में उपलब्ध है, इसलिए आपको पूर्ण लाभ प्राप्त करने के लिए विजुअल स्टूडियो 2008 या इससे अधिक की आवश्यकता होगी। (आप हमेशा नोटपैड में अपना कोड लिख सकते हैं और MSBuild का उपयोग करके संकलित कर सकते हैं)

LinqBridge नामक एक उपकरण भी है जो आपको सी # 2.0 में प्रश्नों की तरह लिंक को चलाने की अनुमति देगा।

LINQ का उपयोग कर युक्तियाँ और चालें

LINQ का उपयोग करने के लिए इस प्रश्न में कुछ मुश्किल तरीके हैं


ADO.NET इकाई फ्रेमवर्क के बाद से LINQ से इकाइयों का उल्लेख एक महत्वपूर्ण .NET मॉड्यूल होगा।


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


मुझे लगता है, "LINQ के क्या स्वाद हैं" का जवाब? अधूरा है सबसे पहले, आप अपना खुद का "स्वाद" बना सकते हैं। हां, यह एक उन्नत कार्य है, लेकिन अब कई अलग-अलग LINQ कार्यान्वयन हैं।

चार्ली कैल्वर्ट के ब्लॉग पर मौजूदा LINQ प्रदाताओं (साथ ही LINQ सीखने पर कुछ और संसाधन) की सूची यहां दी गई है: LINQ से लिंक

और मैट वॉरेन द्वारा अपने स्वयं के LINQ प्रदाता बनाने के तरीके पर ब्लॉग पोस्ट की एक उत्कृष्ट श्रृंखला भी है: LINQ: एक IQueryable प्रदाता श्रृंखला बनाना


यहां 101 लिंक नमूने हैं जो एक महान संदर्भ हैं यदि आप बस एक त्वरित वाक्य रचनात्मक उदाहरण चाहते हैं।

चलो LinqPad भी मत भूलना :)


लिंक लिंक इन एक्शन प्राप्त करें यह एक कोडिंग पुस्तक के लिए एक आसान पठन है और वास्तव में आपको लिनक और .NET 3.5 की नई विशेषताओं को भाषा के लिए रखे गए कुछ अच्छे हिस्सों का उपयोग करने का तरीका सिखाता है।


लिंक अभ्यास के लिए

यदि आप अभ्यास और उत्तरों के साथ LINQ पर कुछ अभ्यास चाहते हैं, तो वास्तव में स्थापित करना आसान है और, मेरी राय में, कमाल:

https://github.com/walkhard/linq-exercises

विजुअल स्टूडियो में खुले गिट से डाउनलोड करें। आपका काम परीक्षण पास करना है।

[प्रकटीकरण: मैंने इससे कुछ लिनक्स सीखा और मैं इस परियोजना में योगदान देता हूं इसलिए हाँ मुझे लगता है कि यह सीखने का एक शानदार, तेज़ और कुशल तरीका है।]





linq-to-objects