2010-06-14 15 views
50

2008 के अंत में LINQ से SQL के भविष्य के बारे में बहुत सी बहस हुई थी। कई लोगों ने सुझाव दिया कि .NET 4.0 में एंटीटी फ्रेमवर्क में माइक्रोसॉफ्ट के निवेश एक संकेत थे कि LINQ से SQL का कोई भविष्य नहीं था। मैंने सोचा कि मैं अपना निर्णय लेने से पहले इंतजार करूँगा क्योंकि लोग समझौते में नहीं थे।LINQ से SQL को बहिष्कृत किया गया है?

फास्ट-फॉरवर्ड 18 महीने और मुझे विक्रेताओं को समाधान प्रदान करना है जो LINQ से SQL पर भरोसा करते हैं और मैंने व्यक्तिगत रूप से इसे एक प्रयास दिया है और वास्तव में इसके साथ काम करने का आनंद लिया है। मुझे लगा कि यह यहाँ रहने के लिए था।

लेकिन मैं एक नई किताब (सी # 4.0 बेन वाटसन द्वारा कैसे करें) पढ़ रहा हूं और अध्याय 21 (LINQ) में, वह सुझाव देता है कि यह "माइक्रोसॉफ्ट द्वारा कम या ज्यादा बहिष्कृत किया गया है" और LINQ से Entity का उपयोग करने का सुझाव देता है फ्रेमवर्क।

मेरा प्रश्न है कि LINQ से SQL को आधिकारिक रूप से बहिष्कृत किया गया है या/या यदि आधिकारिक संस्थाएं (माइक्रोसॉफ्ट, स्कॉट गु, इत्यादि) आधिकारिक तौर पर LINQ से SQL की बजाय LINQ से इकाइयों का उपयोग करने का सुझाव देती हैं।

+3

+1 मैं उन लोगों में से एक था जो विश्वास करते थे कि इसे बहिष्कृत किया जा रहा था, और दुखी था। मैं भी इसका आनंद लेता हूं। – jsmith

+0

यदि यह अभी भी पूरी तरह से समर्थित है लेकिन विस्तारित नहीं किया जा रहा है, तो इसका मतलब है कि मुझे किसी और चीज़ पर स्विच करना चाहिए? इसके स्थान पर उपयोग करने के लिए क्या अच्छा होगा? – BigOmega

उत्तर

58

सभी "Linq करने वाली एसक्यूएल है मृत" लोगों के लिए: स्कॉट गुथरी खुद स्पष्ट रूप से TechEd यूरोप में उल्लेख किया है कि Linq करने वाली एसक्यूएल पूरी तरह .NET 4 में समर्थित है, और डेमियन गार्ड पर एक blog post तैनात क्या परिवर्तनों और सुधारों को नेट 4. में Linq करने वाली एसक्यूएल के लिए बनाया गया है

मार्क ट्वेन के शब्दों में: "मेरी मौत की खबरें बहुत अधिक अतिरंजित किया गया है" ......

+7

हेडल्सबर्ग ने रेडमंड देव न्यूज़ साक्षात्कार में जो कहा वह जोड़ें: _ "LINQ से SQL नहीं मर चुका है। मैं आपको आश्वस्त कर सकता हूं, यह मर नहीं गया है। कुछ भी नहीं चला है। हमने कभी ऐसा नहीं किया है और हम कभी नहीं करेंगे।" _ http://reddevnews.com/blogs/desmond-file/2008/12/digital-darwinism.aspx – KristoferA

+2

हालांकि यह मृत या मर नहीं रहा है, यह बहिष्कृत है। यही मुख्य सवाल है। माइक्रोसॉफ्ट के लेख हैं कि यह कदम उनके फ्लैगशिप ओआरएम - ईएफ को धक्का देना है। एल 2 एस पूरी तरह से समर्थित है, और हर किसी के लिए जानना/सीखना महत्वपूर्ण है ... हालांकि चांदी पर प्रकाश/एचटीएमएल 5 और एमवीसी/वेबफॉर्म के समान ही इसका ध्यान बदल गया है .. पिछली प्रौद्योगिकियों में से कोई भी "मृत" आगे नहीं बढ़ रहा है अन्य चीजों के समान गति या दिशा में। बहिष्कृत एक शब्द का थोड़ा मजबूत हो सकता है क्योंकि इससे यह पता चलता है कि अंत में इसका समर्थन नहीं किया जाएगा, या दृढ़ता से अस्वीकार कर दिया जाएगा। –

+3

हेजल्सबर्ग ने कहा कि एक बेहद झूठी कथन चीजें बदलती हैं और वे दूर जाती हैं या विंडोज 3.1 अभी भी समर्थन में रहेंगे। नेट 1.1 को आधिकारिक तौर पर सर्वर 2008 पर समर्थित किया जाएगा और माइक्रोसॉफ्ट अभी भी लौह भाषाओं का समर्थन करेगा और जैसे टॉम मृत कहा जाएगा! = बहिष्कृत यह अभी भी उपयोग में है और समर्थित है हालांकि यह अब सक्रिय रूप से विकसित नहीं किया जा रहा है, मैं सलाह देता हूं कि लिनक के लिए अपना समर्थन सक्रिय करने के लिए सक्रिय हो, लेकिन वर्तमान और भविष्य के विकास के लिए इकाई फ्रेम कार्य में आगे बढ़ना शुरू करें –

8

नहीं, यह नहीं है। टीम अभी भी इसे सुधारने पर काम कर रही है।

4

है सुनिश्चित करें InfoQ.com पर this article पर एक नज़र डालें - यह वास्तव में एक दिलचस्प है। इसका निष्कर्ष: "[ओ] लंबे समय से LINQ से SQL और LINQ से इकाइयों को विलय कर देगा। इस बीच, LINQ से SQL पर विकास कार्य पूरी तरह समाप्त नहीं होगा।"

0

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

12

पिछली बार मैंने जांच की, यह साइट लिंक (एसक्यूएल) का उपयोग करने के लिए उपयोग की जाती है (या उपयोग करने के लिए उपयोग की जाती है)। जोएल स्पॉस्की ने अपने GoogleTechTalk में इसका उल्लेख किया: http://www.youtube.com/watch?v=NWHfY_lvKIQ

सॉफ़्टवेयर की बात करते समय, "मृत" एक लाक्षणिक संशोधक है (सॉफ़्टवेयर किसी भी शाब्दिक, जैविक अर्थ में मर नहीं जाता है), इसलिए यह बहस तब तक बढ़ सकती है जब शामिल पार्टियां किसी भी शाब्दिक अर्थ में परिभाषित करने से इंकार कर देती हैं इसका मतलब है "लिंक टू डाई"। या, लघु के लिए लिमिटेड। इसलिए, इस पल के रूप में, लिमिटेड बहस दो साल के लिए lingered है। सब कुछ भाषाई अस्पष्टता के कारण।

जो लोग कहते हैं कि "एल 2 एस मर चुका है" आम तौर पर इस तथ्य का जिक्र कर रहे हैं कि एल 2 एस को बहुत अधिक (अगर कोई है) नई विशेषताएं नहीं मिल रही हैं। लिंक के अपडेट (जैसे Damien Guard's post में उल्लिखित अपडेट) प्रदर्शन, उपयोगिता और स्थिरता अपडेट तक सीमित होने की संभावना है। बेशक, कुछ डेवलपर्स वास्तव में तर्क दे सकते हैं कि यह एक अच्छी बात है (शायद वही डेवलपर्स जो new dynamic type के बारे में बहुत नाराज हैं)।

जो लोग कहते हैं कि "एल 2 एस मर नहीं गया है" आम तौर पर इस तथ्य का जिक्र कर रहे हैं कि एल 2 एस को नेट से पूरी तरह से काटा नहीं जा रहा है (कम से कम कभी भी नहीं)। सोचो: एडीओ।यह डेवलपर्स के अभ्यास में अपने कुछ कर्षण को खो सकता है (और यह माइक्रोसॉफ्ट में उन चालाक लोगों की अस्पष्ट इच्छा हो सकती है), लेकिन इसका मतलब यह नहीं है कि यदि आप चाहें तो आप एल 2 एस का उपयोग नहीं कर पाएंगे। इसका मतलब यह है कि माइक्रोसॉफ्ट इसके साथ जनता को शांत करने की कोशिश नहीं कर रहा है।

कोई प्रोजेक्ट शुरू करते समय, मुझे वास्तव में लगता है कि यह बहुत अच्छा है कि मेरे पास ईएफ और एल 2 एस के बीच कोई विकल्प है। बिल वाग्नेर points out के रूप में, दोनों के लिए एक समय और एक जगह है।

8

मैं इस चर्चा करने के लिए देर से कर रहा हूँ, लेकिन मैं

"बताते रूप में वापस दूर 2008, एसक्यूएल परियोजना प्रबंधक (टिम Mallalieu) के लिए लिंक अपने blog post में यह घोषणा की है कि चाहते थे, के रूप में .NET 4.0, LINQ से इकाइयों [LINQ से SQL के बजाय] LINQ के परिदृश्यों को सुलझाने के लिए अनुशंसित डेटा एक्सेस समाधान होगा। "

मुझे इसके विपरीत कोई अन्य हालिया घोषणा नहीं मिली है।

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