2010-02-20 13 views
5

मैं इस लेख को ADO.NET Entity Framework के बारे में पढ़ रहा था और इसे बहुत रोचक पाया हालांकि पहले शॉट में मैं कई चीजों को समझ नहीं पाया। मैं इसके पीछे असली तर्क को समझने के लिए फिर से लेख पढ़ रहा हूं।ADO.NET इकाई फ्रेमवर्क का वास्तविक लाभ क्या है?

ए) मेरे दिमाग में फसल का सवाल यह है कि हमें एक ओआरएम ढांचे की आवश्यकता क्यों है (सामान्य रूप से)?

बी) और अन्य ओआरएम ढांचे के बीच स्प्रिंग.NET, लिंक से एसक्यूएल, एनएचबीरनेट आदि जैसे .NET के लिए मौजूद हैं। हम एडीओ.NET इकाई फ्रेमवर्क क्यों पसंद करेंगे?

+1

इकाई फ्रेमवर्क प्राथमिक ओआरएम वर्तमान में माइक्रोसॉफ्ट द्वारा आगे बढ़ाया जा रहा है। यदि आप माइक्रोसॉफ्ट से अपना ओआरएम प्राप्त करना चाहते हैं, तो इसे चुनने का एक कारण है। अन्य ओआरएम विभिन्न विशेषताओं की पेशकश करते हैं और .NET ORMs (http://stackoverflow.com/questions/1377236/nhibernate-entity-framework-active-records-or-linq2sql/) की तुलना करने के बारे में StackOverflow पर कई अन्य प्रश्न हैं। –

उत्तर

10

ज। व्यक्तिपरक। मैं एक अच्छी राय देने में सक्षम नहीं हो सकता, क्योंकि मैंने ईएफ का उपयोग नहीं किया है।

+4

वाह .... आपने ईएफ का उपयोग नहीं किया है, लेकिन आपकी प्रतिक्रिया का चयन किया गया है। प्रभावशाली। – DotNetRookie

0

ए) एक ओआरएम फ्रेमवर्क बॉयलरप्लेट डेटा लेयर एक्सेस कोड को हटा देता है: आप बस कोड में ऑब्जेक्ट्स से निपटते हैं।

बी) आपकी परिस्थितियों और आवश्यकताओं पर निर्भर करता है।

+0

महोदय, क्या आप कृपया थोड़ी विस्तृत जानकारी दे सकते हैं। –

+0

@ priyanka.bangalore: केवल तभी संभव है जब आप अपनी वास्तविक आवश्यकताओं का विवरण दें –

+0

कोई महोदय, इस तरह की कोई परियोजना आवश्यकता नहीं है। केवल समझने के लिए अपने स्वयं के लिए :) :) –

1

यहाँ मेरे विचार से कुछ है:

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

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

3

ईएफ संबंधपरक एसक्यूएल टेबल से लॉजिकल ऑब्जेक्ट्स बनाना है। आम तौर पर, आप अपनी भौतिक तालिकाओं को अपनी वस्तुओं के साथ उचित रूप से मेल करना चाहते हैं, लेकिन कभी-कभी यह उस तरह से काम नहीं करता है। यह दृढ़ता अज्ञान को बढ़ावा देता है।

4

कई फायदे हैं। उनमें से महत्वपूर्ण हैं:

  1. सीआरयूडी ऑपरेशन (बनाएं, पढ़ें, अपडेट करें, हटाएं) के लिए समर्पित कार्यक्षमता प्रदान करता है। सीआरयूडी संचालन को लागू करने में आसान है।

  2. यदि आप डेटा स्टोर को प्रतिस्थापित करना चाहते हैं, तो डेटा एक्सेस लॉजिक को संशोधित किए बिना प्रतिस्थापित करना बहुत आसान है क्योंकि सभी डेटा एक्सेस तर्क उच्च स्तर पर मौजूद हैं।

  3. एक से एक को प्रबंधित करने में आसान, कई लोगों के लिए और कई तालिकाओं के बीच कई रिश्तों को प्रबंधित करना आसान है।

  4. अवधारणात्मक मॉडल को बेहतर तरीके से प्रदर्शित किया जा सकता है।

  5. डेवलपर डेटा एक्सेस के लिए कक्षाओं और उप-वर्गों में कोड को कम कर सकता है।

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