2008-09-16 22 views
7

के साथ डेटाबेस स्वतंत्रता को कार्यान्वित करने के लिए मैंने काफी सरल नमूना प्रोजेक्ट शुरू करने के लिए इकाई फ्रेमवर्क का उपयोग किया है। प्रोजेक्ट में, मैंने SQL सर्वर 2000 डेटाबेस से एक नया इकाई डेटा मॉडल बनाया है। मैं LINQ से इकाइयों का उपयोग कर डेटा से पूछताछ करने और स्क्रीन पर मूल्य प्रदर्शित करने में सक्षम हूं।इकाई फ्रेमवर्क

मेरे पास एक समान समान स्कीमा वाला ओरेकल डेटाबेस है (मैं सटीक होने की कोशिश कर रहा हूं लेकिन मुझे ओरेकल के सभी विवरण नहीं पता हैं)। मैं चाहता हूं कि मेरी परियोजना कम से कम प्रयास के साथ SQL सर्वर और ओरेकल डेटा स्टोर दोनों पर चलने में सक्षम हो। मैं उम्मीद कर रहा था कि मैं बस अपने एंटिटी डेटा मॉडल की कॉन्फ़िगरेशन स्ट्रिंग को बदल सकता हूं और एंटिटी फ्रेमवर्क बाकी की देखभाल करेगा। हालांकि, ऐसा प्रतीत होता है कि जैसा मैंने सोचा था, निर्बाध रूप से काम नहीं करेगा।

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

+2

एलओएल अगर यह डेटाबेस अज्ञानता प्रदान नहीं करता है, तो इकाई ढांचे के लिए क्या अच्छा है? चीज़! – Sklivvz

+0

@YeahStu .. मुझे एक ही आवश्यकता है, जैसा कि मैंने देखा है कि पोस्ट काफी पुराना है ... इकाई फ्रेमवर्क अब तक संशोधित हुआ है .. क्या आप ईएफ का उपयोग कर डेटाबेस स्वतंत्रता प्राप्त करने में सक्षम थे .. कृपया मुझे इसके साथ मदद करें और अपना कामकाज साझा करें ... अग्रिम में बहुत धन्यवाद। – NMathur

उत्तर

2

"दृढ़ता अज्ञान" शब्द के तहत आम तौर पर क्या समझा जाता है यह है कि आपकी इकाई वर्गों को ढांचे निर्भरताओं (एन-स्तरीय परिदृश्यों के लिए महत्वपूर्ण) के साथ बाढ़ नहीं आ रही है। यह अभी मामला नहीं है, क्योंकि इकाई वर्गों को सादे पुराने सीएलआर वस्तुओं के विपरीत कुछ ईएफ इंटरफेस ("आईपीओसीओ") को लागू करना होगा। जैसा कि एक अन्य पोस्टर ने उल्लेख किया है, उसके लिए Persistence Ignorance (POCO) Adapter for Entity Framework V1 नामक एक समाधान है, और ईएफ वी 2 बॉक्स के बाहर पीओसीओ का समर्थन करेगा।

लेकिन मुझे लगता है कि आपके मन में वास्तव में क्या था डेटाबेस डेटाबेस स्वतंत्रता थी। एक बड़े कॉन्फ़िगरेशन एक्सएमएल के साथ जिसमें स्टोरेज मॉडल, वैचारिक मॉडल और मैपिंग शामिल है, जिनमें से दो टाइप किए गए ऑब्जेक्ट कॉन्टेक्स्ट को डिज़ाइनटाइम पर जेनरेट किया जाएगा, मुझे यह भी छवि मिलती है कि पारदर्शी रूप से दो डेटाबेस का समर्थन कैसे किया जाए।

शायद अधिक आशाजनक लग रहा है कि डेटाबेस-स्वतंत्र ADO.NET प्रदाता को DataDirect से एक जैसा लागू करना है। डेटाडायरेक्ट ने क्यू 3/2008 के लिए ईएफ समर्थन की भी घोषणा की है।

1

http://blogs.msdn.com/jkowalski/archive/2008/09/09/persistence-ignorance-poco-adapter-for-entity-framework-v1.aspx

मुख्य समस्या यह है कि इकाई की रूपरेखा को ध्यान में हठ अज्ञान के साथ नहीं बनाया गया था है। मैं ईमानदारी से इकाई ढांचे के अलावा कुछ और उपयोग करने के लिए देखता हूँ।

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