मुझे लगता है कि समर्थक LINQ तर्क उन लोगों से आ रहा है जिनका डेटाबेस विकास (सामान्य रूप से) के साथ इतिहास नहीं है।
खासकर अगर वीएस डीबी प्रो या टीम सूट जैसे उत्पाद का उपयोग किया जाता है, तो यहां दिए गए कई तर्क लागू नहीं होते हैं, उदाहरण के लिए:
बनाए रखने और परीक्षण करने के लिए कठिन: वी.एस. पूर्ण वाक्यविन्यास जाँच, शैली जाँच, संदर्भ और बाधा जाँच और अधिक प्रदान करता है। यह पूर्ण इकाई परीक्षण क्षमताओं और रीफैक्टरिंग उपकरण भी प्रदान करता है।
LINQ सच इकाई परीक्षण को असंभव बनाता है (मेरे दिमाग में) यह ACID परीक्षण को विफल करता है।
LINQ में डीबग करना आसान है: क्यों? VS, प्रबंधित कोड और SPs की नियमित डीबगिंग से पूर्ण चरणबद्ध अनुमति देता है।
तैनाती लिपियों के बजाय एक एकल DLL में संकलित: एक बार फिर, वीएस बचाव के लिए आता है जहां यह पूर्ण डेटाबेस का निर्माण और तैनाती कर सकता है या डेटा-सुरक्षित वृद्धिशील परिवर्तन कर सकता है।
LINQ के साथ TSQL नहीं सीखना है: नहीं, आप नहीं, लेकिन आपको LINQ सीखना है - लाभ कहाँ है?
मैं वास्तव में इसे एक लाभ के रूप में नहीं देखता हूं। अलगाव में कुछ बदलने में सक्षम होना सिद्धांत में अच्छा लग सकता है, लेकिन सिर्फ इसलिए कि एक अनुबंध को पूरा करने का मतलब यह नहीं है कि यह सही परिणाम लौटा रहा है। यह निर्धारित करने में सक्षम होने के लिए कि आपको सही परिणाम क्या हैं संदर्भ की आवश्यकता है और आपको कॉलिंग कोड से वह संदर्भ मिलता है।
उम, शिथिल युग्मित ऐप सभी अच्छे प्रोग्रामर का अंतिम लक्ष्य है क्योंकि वे वास्तव में लचीलापन बढ़ाते हैं। अलगाव में चीजों को बदलने में सक्षम होना शानदार है, और यह आपकी इकाई परीक्षण है जो यह सुनिश्चित करेगा कि यह अभी भी उचित परिणाम दे रहा है।
इससे पहले कि आप सभी परेशान हों, मुझे लगता है कि LINQ का अपना स्थान है और एक भव्य भविष्य है। लेकिन जटिल, डेटा-गहन अनुप्रयोगों के लिए मुझे नहीं लगता कि यह संग्रहीत प्रक्रियाओं की जगह लेने के लिए तैयार है। यह एक दृश्य था जो मैंने इस साल टेकवीड में एक एमवीपी द्वारा गूँज रहा था (वे नाममात्र रहेंगे)।
संपादित करें: LINQ to SQL स्टोर की गई प्रक्रिया का पक्ष कुछ ऐसा है जिसे मुझे अभी भी और अधिक पढ़ने की आवश्यकता है - जो मुझे मिल रहा है उसके आधार पर मैं अपने उपरोक्त डायटरी को बदल सकता हूं;)