linq-to-sql - LINQ से एसक्यूएल मृत या जीवित है?





(14)


शायद आपको लिंक से एसक्यूएल सीखना परेशान नहीं होना चाहिए, लेकिन अभी भी एंटिटीज लिंक है जो वे रखेंगे।

बस जब मैं LINQ से SQL के साथ दोस्त बनाता हूं, ऐसा प्रतीत होता है कि एमएस इसके नीचे से गलीचा खींच रहा है।

http://blogs.msdn.com/adonet/archive/2008/10/29/update-on-linq-to-sql-and-linq-to-entities-roadmap.aspx

मेरे छोटे से शोध से, ईएफ सरल काम के लिए रास्ता अधिक है। लेकिन इस घोषणा के बाद LINQ से SQL का उपयोग जारी रखने में एक बिंदु है?

LINQ से SQL के लिए भविष्य से परे, क्या यह आमतौर पर एक बुरा संकेत नहीं भेजता है? जिस गति के साथ एमएस दीवार के खिलाफ बिट्स फेंक रहा है, क्या यह किसी भी नए बिट्स का उपयोग करने के लिए तर्कसंगत है? (और यह दयालु है, LINQ से SQL के लिए शायद ही जल्दी है!)।

मेरे LINQ से SQL कार्य के लिए, मुझे लगता है कि मैं SubSonic के लिए नेतृत्व कर रहा हूँ!

अद्यतन: कुछ नई राय:

http://ayende.com/Blog/archive/2008/10/31/microsoft-kills-linq-to-sql.aspx

http://codebetter.com/blogs/david.hayden/archive/2008/10/31/linq-to-sql-is-dead-read-between-the-lines.aspx




आपके प्रश्न के लिए एक अस्पष्टता है जिसे हल करने की आवश्यकता है।

LINQ! = LINQ से SQL

LINQ प्रौद्योगिकियों और प्रदाताओं का एक पूरा समूह है:

  • लिंक से एसक्यूएल;
  • इकाइयों के लिए लिंक;
  • ऑब्जेक्ट्स के लिए लिंक;
  • लिंक से एक्सएमएल;

... और वे सिर्फ माइक्रोसॉफ्ट के हैं। एनएच-एमएस प्रदाता भी हैं, जिनमें एनएचबीर्नेट भी शामिल है।

आपके द्वारा लिंक्ड ब्लॉग पोस्ट केवल लिंक से एसक्यूएल के बारे में वार्तालाप करता है।

LINQ का मुख्य लाभ यह है कि आप एक क्वेरी सिंटैक्स सीख सकते हैं और इसका उपयोग कर सकते हैं और इसे कई तकनीकों में पुन: उपयोग कर सकते हैं।

यह देखते हुए, मैं सुझाव दूंगा कि "लिंक टू एसक्यूएल" के लिए भविष्य की किसी भी अनुमानित कमी को अप्रासंगिक है, क्योंकि लिनक्यू प्रश्नों को लिखने में आपके द्वारा प्राप्त कौशल भविष्य में अन्य उपकरणों में स्थानांतरित हो जाएंगे।




मैं ईमानदारी से समझ में नहीं आता कि उस लेख में आपने पढ़ा है कि link2sql मर चुका है।

ब्लॉग पोस्ट में आप उससे जुड़े हुए कहते हैं:

हम LINQ से SQL के संबंध में ग्राहकों को सुन रहे हैं और समुदाय से प्राप्त प्रतिक्रिया के आधार पर उत्पाद को विकसित करना जारी रखेंगे।

मेरे लिए यह LINQ से SQL की तरह पढ़ता है भविष्य में विकसित और समर्थित किया जाएगा। मुझे आश्चर्य है कि आपको क्यों लगता है कि यह मर चुका है?




अनुमोदित, मुझे लगता है कि LINQ से SQL, LINQ से Entities और LINQ के बीच विकल्प [तृतीय पक्ष ORM डालें] यहां डेटा एक्सेस लेयर पद्धतियों की पूरी तरह स्वस्थ इको-सिस्टम प्रदान करता है जो एक सॉफ़्टवेयर डेवलपर चुन सकता है। एनएचबर्ननेट, एलएलबीएलजेन और यहां तक ​​कि सबसनिक जैसे तीसरे पक्ष के प्रदाता (सुनिश्चित नहीं हैं कि वे LINQ प्रदाताओं की पेशकश करने जा रहे हैं) निश्चित रूप से प्रतिस्पर्धा को बेहतर और अधिक रोचक बना देंगे।

ऐसा कहा जा रहा है कि माइक्रोसॉफ्ट के लिए LINQ से SQL को त्यागना पूरी तरह से दुखी होगा, खासकर जब से इसका अच्छा अनुसरण होता है - यहां तक ​​कि स्टैक ओवरव्लो भी बनाया गया है।




यह हमेशा थोड़ा अजीब था कि लिंक 2 एसक्यूएल और एंटिटी फ्रेमवर्क के साथ ओवरलैप के बड़े क्षेत्र थे। मुझे लगता है कि एकमात्र कारण एल 2 एस ने इसे कभी भी .NET 3.5 रिलीज में बनाया था क्योंकि इसमें कोई बड़ा संदेह था कि ईएफ कभी दिन की रोशनी देखेगा। अब जब ईएफ 1 खत्म हो गया है, तो यह सब बहुत मोटा v1 होगा, अब एल 2 एस की कोई आवश्यकता नहीं थी।




1) वे लिंक-टू-एसक्यूएल को "मार" नहीं सकते क्योंकि यह पहले से ही नेट फ्रेमवर्क का हिस्सा है। वे क्या कर सकते हैं यह सुविधाओं को जोड़ने बंद करो। इससे हजारों डेवलपर्स को वहां से बाहर नहीं रोका जा रहा है जो पहले से ही एल 2 एस का उपयोग करके इसे विस्तारित कर रहे हैं और इसे बेहतर बना रहे हैं। कुछ मुख्य क्षेत्र स्पर्श करने के लिए मुश्किल हैं लेकिन वे पहले से ही ठोस हैं और गायब डिजाइनर सुविधाओं को आसानी से बोल्ड किया जा सकता है

2) पीडीसी ईएफ सत्रों में से एक से पता चलता है कि उन्होंने ईएफवी 1 फियास्को से कुछ सबक सीखे हैं और अब वे एल 2 एस से ईएफ में कई उपहारों की प्रतिलिपि बना रहे हैं और यह दिखा रहे हैं कि यह नई ईएफ सामग्री है। दूसरे शब्दों में, एल 2 एस संस्करण दो को अभी "रिलाबेल" ईएफ किया गया है।

3) इस तरह की भाषा (भाषा एकीकृत क्वेरी) कटा हुआ आइसक्रीम के बाद से सबसे अच्छी चीज है और इसका उपयोग एल 2 एस की तुलना में कई अन्य चीजों के साथ किया जा सकता है (वस्तुओं से लिंक, इकाइयों के लिए लिंक, लिंक से एक्सएमएल, लिंक-टू-कुछ भी )। इसलिए डीपी समूह के प्रयास [एलजीएस] के बड़े पैमाने पर [कम लोकप्रिय और वर्तमान में त्रुटिपूर्ण] इकाई फ्रेमवर्क को लागू करने का प्रयास लिंकक सीखने का कोई कारण नहीं है।

यह धागा भी देखें (जो मुझे विश्वास है कि आंशिक रूप से टिम के ब्लॉग पोस्ट को ट्रिगर किया गया है): http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=4061922&SiteID=1

अपडेट 1: रोजर जेनिंग्स द्वारा विजुअल स्टूडियो मैगज़ीन कवर स्टोरी का दिसंबर 2008 अंक विषय पर एक अच्छा पठन है, कुछ एल 2 एस बनाम ईएफ तुलनाओं के साथ: http://visualstudiomagazine.com/features/article.aspx?editorialsid=2583

अपडेट 2: एंडर्स हेजल्सबर्ग को रेडमंड डेवलपर न्यूज में उद्धृत किया गया था, " LINQ से SQL मर चुका नहीं है। मैं आपको आश्वस्त कर सकता हूं, यह मर नहीं गया है। कुछ भी नहीं चला है। हमने कभी ऐसा नहीं किया है और हम कभी नहीं करेंगे। "

http://reddevnews.com/blogs/weblog.aspx?blog=3016




किसी को भी वीबी 6 याद है? चाहे आप इसे व्यक्तिगत रूप से नफरत करते हैं या उससे प्यार करते हैं, माइक्रोसॉफ्ट ने लाखों प्रतियां बेचीं, और व्यवसायों ने लाखों डॉलर खर्च किए जो लाखों लाइनों को वीबी 6 लिखते थे। आगे क्या हुआ?

तो बस उस सबक पर विचार करें। मेरे लिए, ऐसा लगता है कि LinqToSQL समर्थन बदसूरत होगा। वे इसका समर्थन करने के लिए obliged हैं क्योंकि यह वर्तमान .NET ढांचे में है। लेकिन क्या यह .NET 5, 6, 7 में होगा ...? बस इस बारे में सोचें कि आपके लिए कितना मायने रखता है (क्योंकि मुझे पता है, इससे कोई फर्क नहीं पड़ता)।




न केवल आपको लिंक (सिस्टम.Linq.Enumerable और System.Linq.Queryable) सीखना चाहिए, आपको अपनी .NET भाषा के लिए प्रोग्रामिंग भाषा संवर्द्धन सीखना होगा।

सी # 3.0 में इनमें शामिल हैं:

  • विस्तार विधियां (इस पैरामीटर के साथ पहले पैरामीटर पर स्थिर विधियां)
  • कंपाइलर अनुमानित प्रकार (var)
  • लैम्ब्डा सिंटैक्स (जो संदर्भ के आधार पर एक अज्ञात विधि या अभिव्यक्ति उत्पन्न करता है)
  • initializers
  • संपत्ति डिफ़ॉल्ट कार्यान्वयन (एक शॉर्टेंड)

here और पढ़ें।

वीबी 9.0 में कुछ इनलाइन एक्सएमएल जादू है, और कई अन्य चीजें हैं (कई सी # के लिए उपर्युक्त सूची के समान हैं)।

here और पढ़ें।







मुझे लगता है कि मैं वास्तव में समस्या को वास्तव में नहीं देखता हूं। आपके द्वारा लिंक किए गए आलेख से:

हम LINQ से SQL के संबंध में ग्राहकों को सुन रहे हैं और समुदाय से प्राप्त प्रतिक्रिया के आधार पर उत्पाद को विकसित करना जारी रखेंगे।

क्या मैं कुछ भूल रहा हूँ? आगमन पर LINQ से एसक्यूएल की छाप क्या है?




विंडोज फोन 7 का अगला संस्करण, कोडनाम मैंगो में, SQL सर्वर कॉम्पैक्ट संस्करण को लिंक से SQL के माध्यम से सुलभ किया गया है http://jesseliberty.com/2011/05/10/coming-in-mangosql-server-ce/




(नहीं, StingyJack, LINQ से SQL SQL इकाई फ्रेमवर्क का उपयोग नहीं करता है)

वैसे भी, मैं चिंता नहीं करता। टिम कहता है कि वे LINQ से SQL के संबंध में ग्राहकों को सुन रहे हैं। एल 2 एस के लिए मैंने जो उत्साह देखा है, उसके आधार पर, ग्राहक (वह हम हैं) उनके दिमाग बोलेंगे।

और, जैसा कि क्रिस्टोफर ए बताता है, वे वास्तव में एल 2 एस को मार नहीं सकते हैं, केवल इसे फ्रीज करें। और एल 2 एस, एक बार पॉलिश होने पर, वास्तव में बहुत आगे विकास की आवश्यकता नहीं होती है। एल 2 एस प्रदाता के स्थान पर, LINQ में कोई भी प्रगति एल 2 एस में भी उपलब्ध होनी चाहिए। तो पसंद अभी भी हमारा होगा।







मुझे टेक (एन) विधि का उपयोग करना पड़ा, फिर सूची में बदलना, एक आकर्षण की तरह काम किया:

    var listTest = (from x in table1
                     join y in table2
                     on x.field1 equals y.field1
                     orderby x.id descending
                     select new tempList()
                     {
                         field1 = y.field1,
                         active = x.active
                     }).Take(10).ToList();






linq-to-sql