edmx - One Entity Framework definition with two storage providers? -


सेटअप

  • मेरे पास एक SQL Server 2008 डेटाबेस है सर्वर पर इकाई फ़्रेमवर्क का उपयोग करके पहुंचा जा सकता है।
  • जब प्रत्येक ऑफ़लाइन डेटा को संग्रहीत करने के लिए प्रत्येक क्लाइंट में SQL Server संकुचित संस्करण 3.5 डेटाबेस होता है।
  • मैं आत्म ट्रैकिंग संस्थाओं का उपयोग करता हूं जो सर्वर से परिभाषित इकाई फ़्रेमवर्क का उपयोग करते हैं

    प्रश्न

    फिलहाल मेरे पास दो EDMX परिभाषित, सर्वर के लिए एक और ग्राहक के लिए दूसरा है, भले ही वे समान हों भंडारण प्रदाता के अलावा मैं सर्वर से स्वयं ट्रैकिंग संस्थाओं का उपयोग करता हूं और वे क्लाइंट डेटाबेस के साथ ठीक काम करते हैं क्या सिर्फ एक ही ईडीएमएक्स है? फिलहाल एक जोखिम होता है, मैं एक EDMX में परिवर्तन कर दूंगा और इसे दूसरे करने के लिए भूल जाऊंगा। या क्या मैं गलत दृष्टिकोण का उपयोग कर रहा हूं?

    नोट

    मैं जटिल व्यावसायिक तर्क के कारण सिंक फ्रेमवर्क का उपयोग नहीं करना चाहता हूँ, जिस पर सर्वर पर आवेदन करने की आवश्यकता है पक्ष।

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

    एक और "बेहतर" समाधान ईडीएमएक्स का उपयोग नहीं कर रहा है और पहले कोड का उपयोग नहीं करता है, जहां यह समस्या ज्यादातर मौजूद नहीं है- लेकिन यह वास्तुकला परिवर्तन है ।

Comments