मुझे एंटिटी फ्रेमवर्क 4 में किसी ऑब्जेक्ट ऑब्जेक्ट के संदर्भ को लोड करने में समस्याएं आ रही हैं। आलसी लोडिंग के कारण मूल ऑब्जेक्ट (हालत) के संदर्भ को बच्चे ऑब्जेक्ट (डिस्काउंट लेवल) पर लोड नहीं किया गया है, इसलिए मैं के साथ लोड करने का प्रयास:इकाई फ्रेमवर्क 4 लोडिंग संदर्भ अपवाद
if(!this.ConditionReference.IsLoaded) this.ConditionReference.Load();
लेकिन यह निम्न अपवाद फेंकता है: क्योंकि यह एक ObjectContext
से जुड़ी नहीं हैएंटिटी संदर्भ लोड नहीं हो सका
तो अगर मैं वस्तु संदर्भ के लिए मौजूदा बच्चे वस्तु (DiscountLevel) संलग्न करने के लिए (और फिर बाद में माता-पिता संदर्भ लोड) की कोशिश:
context.AttachTo("tblDiscountLevel", this);
मैं निम्न अपवाद प्राप्त करें:
एक ऑब्जेक्टस्टेट प्रबंधक में एक ही कुंजी वाला ऑब्जेक्ट पहले से मौजूद है। मौजूदा वस्तु अलग राज्य में है। ऑब्जेक्टस्टेट मैनेजर में एक ऑब्जेक्ट को फिर से जोड़ा जा सकता है यदि यह अतिरिक्त स्थिति में है।
मुझे लगता है कि मैं पहली जगह में कुछ गलत कर रहा हूं, लेकिन मैं यह नहीं समझ सकता कि क्या। इसलिए इस विषय पर हर मदद की बहुत सराहना की जाती है। अगर आपको अतिरिक्त जानकारी चाहिए तो मुझे बताएं!
क्या आपने क्वेरी में मूल ऑब्जेक्ट को शामिल करने का प्रयास किया है? देखें: http://stackoverflow.com/questions/19319116/include-vs-load-performance-in-entityframework – Stefan
मैंने माता-पिता को शामिल करने का प्रयास किया है लेकिन संदर्भ लोड नहीं किया जाएगा। हो सकता है कि मैं कुछ गलत कर रहा हूं ... 'context.tblDiscountLevel.Include (" condition ")। कहाँ (lv => lv.LevelDiscountID == this.LevelDiscountID) .सूची()' –
क्या आप 'कोड पहले' का उपयोग कर रहे हैं या एक edmx? कोड का उपयोग करते समय माता-पिता को नेविगेशन प्रॉपर्टी 'आभासी' होना चाहिए और इसे बॉक्स से बाहर करने के लिए कुछ नामकरण सम्मेलन होना चाहिए। यदि आप एडीएमएक्स का उपयोग कर रहे हैं तो मेरा अनुभव यहां आपकी मदद करने के लिए पर्याप्त नहीं है। – Stefan