.NET डेटा टियर के निर्माण के लिए Microsoft की वर्तमान सर्वोत्तम प्रैक्टिस? और वास्तविकता?


13

मैं जिस विकास टीम के साथ काम कर रहा हूं, वह जल्द ही .NET 4.0 पर जा रहा है, हालांकि, डेटा एक्सेस क्लास लाइब्रेरी जो हम अभी भी उपयोग करते हैं, ADO.NET "क्लासिक" का उपयोग करता है, जिसका अर्थ है SqlDataReader , DataTable और पसंद है। इस बीच, ऐसा लगता है कि Microsoft और शायद बाकी दुनिया Entity फ्रेमवर्क और WCF डेटा सेवाओं के साथ आगे बढ़ रही है । मुझे MSDN पर ऐसा कुछ भी नहीं मिला जिससे यह संकेत मिलता हो कि कौन सी डेटा एक्सेस तकनीक Microsoft सर्वश्रेष्ठ प्रथाओं को मानता है।

क्या Microsoft की प्राथमिकता है? वर्तमान में अधिकांश लोग किस डेटा का उपयोग कर रहे हैं? क्या ADO.NET क्लासिक के साथ बने रहने के अच्छे कारण हैं और Entity फ्रेमवर्क में नहीं जाना है?


अच्छा प्रश्न। एक नाइट: "डेटा लेयर" एक अधिक सटीक शब्द हो सकता है। "टियर्स" का अर्थ अलग-अलग बॉक्सों पर वितरित वितरण प्रणाली के कुछ हिस्सों से भी हो सकता है।
अज़ेघलोव

1
@azheglov, "डेटा लेयर" मेरा पहला विचार था, लेकिन फिर मैंने इस पर ध्यान दिया और मैंने एमएसडीएन: MSDn.microsoft.com/en-us/library/bb384398.aspx पर जो भी शब्दावली देखी, उसके बारे में जानने की कोशिश की । मैं सहमत हूँ कि डेटा परत अधिक सटीक है, हालांकि।
टी। वेबस्टर

वेबस्टर: इसे देखने और स्पष्टीकरण के लिए धन्यवाद
azheglov

जवाबों:


4

मेरी फर्म में हम ईएफ का उपयोग कर रहे हैं। यह एक अच्छा ओआरएम है, जो हमारी छोटी परियोजना के लिए उपयुक्त है। वास्तव में लोग EF या NHibernate का उपयोग कर रहे हैं। दोनों चौखटे अच्छी हैं। EF में एक बेहतरीन MS सपोर्ट है और आप Visual Studio के साथ बेहतरीन टूल पा सकते हैं। NHibernate को EF से बेहतर माना जाता है लेकिन एक बड़ा "सीखने की अवस्था" है इसलिए आप इसे अपनाने में अधिक समय व्यतीत करेंगे।

मुझे लगता है कि, यदि आप Ado.Net "क्लासिक" पर हैं तो EF का प्रयास करें। एक साधारण प्रोजेक्ट बनाएं और कुछ DAL तरीकों को बदलें। जांचें कि यह कैसे काम करता है और आप कोड को कैसे प्रबंधित / संशोधित कर सकते हैं। सरल "SqlDataReader" विधियों के साथ तुलना करें और तय करें कि कौन सा बेहतर है। याद रखें कि गोद लेने के लिए हर प्रौद्योगिकी पारी को कुछ समय की आवश्यकता होती है, इसलिए आपको यह गणना करनी होगी कि क्या यह परिवर्तन लंबे समय में आपकी कंपनी के लिए फायदेमंद होगा।


5

मेरी टीम ईएफ को थोड़ा दर्द करने की वास्तविकता का पता लगा रही है। ऐसा इसलिए नहीं है क्योंकि EF खराब है या उपयोगी नहीं है, लेकिन ADO.Net फ्रेमवर्क 2.0 से EF तक पहुंचने वाले जोरदार टाइप किए गए डेटासेट्स से हमारी मौजूदा डेटा लेयर्स (काफी बड़े पैमाने पर) को परिवर्तित करने की गुंजाइश बहुत अधिक गहन कार्य है जो वास्तव में हासिल नहीं करता है हमें कुछ भी। नए सामान के लिए हम अभी भी काफी फटे हुए हैं क्योंकि हम सभी की राय और लक्ष्य हैं। हमारी सिल्वरलाइट परियोजनाओं के लिए, हम केवल EF और RIA सेवाओं पर ध्यान केंद्रित कर रहे हैं, लेकिन वेब परियोजनाओं (webforms और MVC 3) के लिए हम मुख्य रूप से Linq2Sql का उपयोग कर रहे हैं।

हम Linq2Sql का उपयोग करके कम सिरदर्द और तेजी से विकास पा रहे हैं, लेकिन मुझे पता है कि Microsoft EF एजेंडा (विशेष रूप से WCF और RIA सेवाओं के साथ) को आगे बढ़ा रहा है। Linq2Sql कहीं भी नहीं जा रहा है, लेकिन सभी नए खिलौने और शांत सुविधाओं को ईएफ में केंद्रित किया जाएगा। मैं कहूंगा कि अगर आपके पास जल्दी विकल्प है, तो ईएफ शुरू करने के लिए एक अच्छी जगह होगी। यदि आप पहले से ही मिड स्ट्रीम हैं, तो मुझे नहीं पता कि इसे स्विच करना बहुत आसान होगा।


3

एंटिटी फ्रेमवर्क जाने का पसंदीदा तरीका है। LinqToSql का समर्थन और रखरखाव किया जाएगा लेकिन आगे बढ़ने वाला विकास फोकस एंटिटी फ्रेमवर्क पर है। ADO.NET इकाई फ्रेमवर्क और LINQ SQL के बीच चयन


और आप वर्तमान में क्या उपयोग करते हैं?
टी। वेबस्टर

2
मुझे लगता है कि हर कोई linq2sql का उपयोग कर रहा है
cnd

@nCdy: जबकि हमारी टीम के कुछ सदस्यों ने Linq2Sql को बहुत ज्यादा "गंदी" कहा है, हम सभी की राय है कि EF ऑटो बहुत अनावश्यक जंक उत्पन्न करता है कि L2S सिर्फ बाईपास करता है।
जोएल एथरटन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.