हाल ही में मैं उपलब्ध .NET आधारित ORM में देख रहा हूं। मैंने देखा है कि प्रत्येक एक या दो शिविरों में बैठता है। एक शिविर में डेटाबेस पहले बनाया जाता है, और ओआरएम किसी एप्लिकेशन में डेटाबेस तक पहुंचने का एक आसान तरीका प्रदान करता है। दूसरे शिविर में ऑब्जेक्ट मॉडल पहले मौजूद है और ओआरएम डेटाबेस में ऑब्जेक्ट मॉडल को बनाए रखने में सुविधा प्रदान करता है।ओआरएम तुलना: जो डेटाबेस या कक्षाओं में सबसे पहले आता है?
अब मैं नहीं पूछ रहा हूं या दावा कर रहा हूं कि एक शिविर बेहतर है या नहीं। मैं निश्चित रूप से प्रत्येक डिजाइन पद्धति के कारणों को देख सकता हूं। मुझे निराशाजनक क्या है सभी ट्यूटोरियल और "प्रारंभ करना" दस्तावेज़ों में से मैंने हाल ही में पढ़ा है, कोई भी अभी बाहर नहीं आया है और बहुत शुरुआत में कहता है "यह टूल मानता है कि आप मौजूदा डेटाबेस/ऑब्जेक्ट मॉडल से शुरू कर रहे हैं"। मेरे लिए यह बहुत मौलिक है कि आप एक ओआरएम बनाम दूसरे का उपयोग करेंगे या नहीं।
तो पढ़ने का एक गुच्छा करने के बाद, और कुछ "हैलो वर्ल्ड" प्रोजेक्ट्स बनाने के बाद मैंने ओआरएम द्वारा समर्थित वर्कफ़्लो पर बुलेट पॉइंट्स की श्रृंखला बनाई है। क्या इन उपकरणों के साथ अनुभव वाला कोई भी मुझे बता सकता है कि मैंने कोई गलत कथन किया है, या किसी भी वास्तव में महत्वपूर्ण बिंदुओं को पूरी तरह से याद किया है। विशेष रूप से मैं वास्तव में जानना चाहता हूं कि डेटाबेस स्कीमा के बारे में मेरी धारणाएं हैं या ऑब्जेक्ट मॉडल प्रत्येक उपकरण के साथ पहले आना चाहिए।
- डाटाबेस मौजूद होना चाहिए पहले
- केवल एसक्यूएल सर्वर के साथ काम करता
- DataContext कक्षा वर्गों और डेटाबेस के बीच/लिखने
- DataContext वास्तविक भौतिक कक्षाओं retun कर सकते हैं पढ़ने के लिए प्रयोग किया जाता है, या गतिशील प्रकारों का उपयोग स्वचालित रूप से डेटाबेस स्कीमा के आधार पर प्रकार बनाने के लिए किया जा सकता है। कॉलम नामों में वर्ग के नाम करने के लिए मानचित्रण तालिका नाम, और संपत्ति के नाम करने के लिए
- मानचित्रण चूक
- मानचित्रण प्रत्येक वर्ग
- डाटाबेस होना चाहिए में एम्बेडेड विशेषताओं के माध्यम से अनुकूलित किया जा सकता पहले
- कई डेटाबेस तकनीकों के साथ काम करता है
- वर्ग का उपयोग कर टी -4 टेम्पलेट्स डेटाबेस के लिए
- कनेक्शन मौजूदा डेटाबेस स्कीमा से स्वचालित रूप से उत्पन्न कर रहे हैं पूरी तरह से पारदर्शी एक बार कक्षाएं automagicaly डेटाबेस
- संपत्ति मूल्यों को बदलने से स्वत: डेटाबेस अपडेट हो जाता है में रिकॉर्ड बनाने के उत्पन्न कर रहे हैं
- कॉलिंग वर्ग कंस्ट्रक्टर्स है।
- वर्ग संरचना आना चाहिए डेटाबेस प्रौद्योगिकियों
- भंडार श्रेणी का निर्माण और एक डेटाबेस
- डाटाबेस स्कीमा से जुड़ा है की संख्या के साथ पहले
- वर्क्स वर्गों को जोड़े जाने पर स्वचालित रूप से बनाया और अद्यतन किया गया है भंडार
repo.Add<MyClass>(instance);
- भंडार/अद्यतन बनाने के लिए प्रतिबिंब का उपयोग करता है डेटाबेस स्कीमा
- हर बार के लिए एक तालिका बनाएं और प्रत्येक प्रॉपर्टी
- या तो डेटाबेस या वर्ग संरचना पहले बनाया जा सकता है
- मानचित्रण एक मौजूदा डेटाबेस के लिए एक नया वर्ग संरचना से मेल करने के लिए बनाया जा सकता है
- मानचित्रण इस्तेमाल किया जा सकता की संख्या के साथ स्वचालित रूप से generate the database schema
- निर्माण करने के लिए डेटाबेस टेक्नोलॉजीज
- अंतिम असेंबली के अंदर कक्षाएं एनएचबेर्नेट मैपिंग सेटिंग्स के साथ जिम्मेदार हैं जो टेबल और कॉलम के लिए कक्षाएं और गुणों को मानचित्रित करती हैं
- मैप जोड़ने के दो तरीके हैं ing विन्यास
- एक्सएमएल बाइनरी में embeded फ़ाइलें,
<classname>.hbm.xml
- गुण, कई लोगों के लिए, कोड
- एक्सएमएल बाइनरी में embeded फ़ाइलें,
- एक करने के लिए एक मई को एक सहित उन्नत मानचित्रण विन्यास का समर्थन करता है करने के लिए जोड़ा एक करने के लिए कई, कई विरासत etc..l आदि ...
क्या मदद मिलेगी? –
आप इकाई फ्रेमवर्क भूल गए हैं। ईएफ के साथ आप या तो डीबी पहले या कक्षा के पहले विकास कर सकते हैं। आप EntitySet के माध्यम से डेटाबेस के साथ काम करते हैं। आपके पास इकाई फ्रेमवर्क का उपयोग करके कई डेटाबेस के साथ काम करने की क्षमता भी है। –
मैं सिर्फ ईएफ में देखने के लिए नहीं मिला है। मैंने जो पढ़ा है उससे ईएफ का 3.5 संस्करण वास्तव में तैयार नहीं था। 4 की तरह लगता है।0 संस्करण में सुधार है, लेकिन मैंने पिछले सप्ताह के अंत में वीएस 2010 स्थापित किया था। मैं निश्चित रूप से किसी भी उत्तर को सुनना चाहूंगा कि ईएफ के साथ वर्कफ़्लो सूचीबद्ध अन्य ORMS की तुलना में कैसे तुलना करता है। –