2011-05-01 19 views
8

का उपयोग कर एक साथ दो अलग-अलग डेटाबेस का उपयोग करके मैं एक एमवीसी 3 प्रोजेक्ट में एंटीटी फ्रेमवर्क 4 का उपयोग कर रहा हूं। मैं दो अलग-अलग डेटाबेस (ए और बी) तक पहुंचने की कोशिश कर रहा हूं:एंटिटी फ्रेमवर्क

  • डेटाबेस ए और बी पूरी तरह से अलग और असंबंधित हैं।
  • डाटाबेस ए एक 'कोड पहले' एसक्यूएल कॉम्पैक्ट डेटाबेस है।
  • डाटाबेस बी एक 'डेटाबेस पहले' SQL सर्वर डेटाबेस है।
  • मेरे पास डेटाबेस पर कोई सीधा प्रश्न नहीं है, कोई लिंकिंग या क्रॉस-डेटाबेस शामिल नहीं है।
  • यदि मैं परियोजना से अन्य डीबीकॉन्टेक्स्ट को हटा देता हूं तो डेटाबेस कनेक्शन काम करता है।

अब, जब मैं डेटाबेस ए से पूछताछ करने का प्रयास करता हूं, तो मुझे एक अपवाद मिल रहा है "के लिए वैचारिक मॉडल प्रकार नहीं मिला"।

मैं कल्पना नहीं कर सकता कि ईएफ आपको विभिन्न डेटाबेस का उपयोग करने नहीं देता है, इसलिए मेरा सवाल है: क्या मुझे काम करने के लिए उपयुक्त डीबीकॉन्टेक्स्ट का नया उदाहरण बनाते समय कुछ अतिरिक्त करने की ज़रूरत है?

+0

क्या आपको कभी इसके लिए समाधान मिला? मुझे एक ही समस्या है (सिवाय इसके कि मेरे पास केवल डेटाबेस ए है जिसमें से आधे में एडीएमएक्स है और आधा कोड पहले है) –

उत्तर

1

सुनिश्चित करें कि आप दोनों edmx फ़ाइलों के लिए समान इकाइयों का नाम का उपयोग न करें। आप फ़ाइल को open with पर दायाँ xml editor के साथ edmx खोलकर इसे मैन्युअल रूप से बदल सकते हैं।

ध्यान दें कि कुछ सुरक्षा कारणों से आप संदर्भों को घोंसला नहीं दे सकते हैं। वे केवल अलग इस्तेमाल किया जा सकता है।

+0

ओह यह एक अच्छा बिंदु है; हालांकि, मेरी संस्थाओं का एक ही नाम या पहचानकर्ता नहीं है। संयोग से, मेरे पास केवल "डेटाबेस-प्रथम" -डेटाबेस के लिए एक एडीएमएक्स फ़ाइल है। –

2

"अपवाद के लिए वैचारिक मॉडल प्रकार नहीं मिला" को हल करने का प्रयास करते समय मैंने इस धागे में ठोकर खाई।
मैं कई मॉडलों के साथ ईएफ 4.2 का उपयोग कर रहा हूं। मैंने डीबीकॉन्टेक्स्ट को अपने मॉडल में से एक के साथ "इसे आज़माएं" के लिए कार्यान्वित किया। जब मैंने संकलित और भाग लिया, तो मुझे एक पूरी तरह से अलग डेटाबेस पर एक पूरी तरह से अलग मॉडल में एक इकाई के लिए ऊपर अपवाद प्राप्त हुआ!

बहुत परेशानी के बाद मैंने अंततः डीबीकॉन्टेक्स्ट को अन्य दो मॉडलों में लागू किया और सब कुछ ठीक हो गया।

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

+0

यह मेरे लिए काम किया। धन्यवाद! –

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