पर मैं पुनः लोड फ़ंक्शन के साथ कुछ परिवर्तनों को त्यागने का प्रयास करता हूं। मुझे InvalidOperationException
मिलता है। मैं इसे कैसे रोक सकता हूं?इकाई फ्रेमवर्क 5 अमान्यऑपरेशन अपवाद
DbContext.SaveChanges();
//Entity is in Unchanged state
//Make some changes to an entity
//Change state to modified
DbContext.Entry(entity).Reload();
InvalidOperationException
EntityMemberChanged या EntityComplexMemberChanged पहले पर एक ही संपत्ति के नाम के साथ ही परिवर्तन पर नजर EntityMemberChanging या EntityComplexMemberChanging बुला बिना बुलाया गया था। उचित रूप से रिपोर्टिंग परिवर्तनों के बारे में जानकारी के लिए, इकाई फ्रेमवर्क दस्तावेज़ देखें।
संपादित करें:
मैं सक्षम है और विकलांग ProxyCreationEnabled
, LazyLoadingEnabled
गए हैं।
विभिन्न दृष्टिकोणों का भी प्रयास किया। इन सभी प्रयासों ने एक ही अपवाद फेंक दिया।
var objContext = ((IObjectContextAdapter)context).ObjectContext;
objContext.Refresh(RefreshMode.ClientWins, entry.Entity);
entry.OriginalValues.SetValues(entry.GetDatabaseValues());
आशा है कि मैं एक समाधान मिलता है। सभी डेटा को पुनः लोड करने के लिए पूर्ण DbContext को निपटाना नहीं चाहते हैं।
इनमें से कोई भी मदद करेगा? http://stackoverflow.com/questions/5221314/refresh-entity-instance-with-dbcontext या यह http://stackoverflow.com/questions/5799737/entity-framework-4-1-dbset-reload या यह http: //connect.microsoft.com/VisualStudio/feedback/details/694567/entitymemberchanged-or-entitycomplexmemberchanged-was-called-without-first-calling-entitymemberchanging-or-entitycomplexmemberchanging-on-the-same-change-tracker-with- वही संपत्ति-नाम ?? – LiverpoolsNumber9
इसमें आपकी स्थिति से कोई लेना-देना नहीं हो सकता है, लेकिन जांचना चाहता था .. क्या आप अपने प्रोग्राम में किसी भी प्रकार का मल्टीथ्रेडिंग/एसिंक कर रहे हैं? किसी भी PLINQ या 4.5 async/प्रतीक्षा का उपयोग करने की तरह? – tostringtheory
@tostringtheory पहले से ही किसी भी थ्रेडिंग के बिना इसे चेक किया गया है। एक ही समस्या है। –