में SaveChanges को कॉल करते समय अमान्य ऑपरेशन अपवाद। मैं एंटिटी फ्रेमवर्क का उपयोग करने का तरीका सीखने की कोशिश कर रहा हूं लेकिन मैंने एक समस्या को हल किया है जिसे मैं हल नहीं कर सकता। मैं जो कर रहा हूं वह यह है कि मैं अपनी फिल्मों की एक सूची के माध्यम से चल रहा हूं और प्रत्येक को एक साधारण डेटाबेस में सम्मिलित करता हूं।.NET Entity Framework
यह जब मैं यह कर रहा db.SaveChanges() कि पढ़ा पर एक अपवाद मिल कोड मैं
private void AddMovies(DirectoryInfo dir)
{
MovieEntities db = new MovieEntities();
foreach (DirectoryInfo d in dir.GetDirectories())
{
Movie m = new Movie { Name = d.Name, Path = dir.FullName };
db.AddToMovies(movie);
}
db.SaveChanges();
}
उपयोग कर रहा हूँ है।
डेटाबेस में परिवर्तन सफलतापूर्वक लागू हुए थे, लेकिन वस्तु संदर्भ अपडेट करते समय एक त्रुटि हुई। ऑब्जेक्ट कॉन्टेक्स्ट एक असंगत स्थिति में हो सकता है। आंतरिक अपवाद संदेश: AcceptChanges जारी नहीं रख सकता क्योंकि ऑब्जेक्ट के प्रमुख मान ऑब्जेक्टस्टेट प्रबंधक में किसी अन्य ऑब्जेक्ट के साथ संघर्ष करते हैं। सुनिश्चित करें कि कुंजी मान AcceptChanges को कॉल करने से पहले अद्वितीय हैं।
मैं यह पता लगाने में सक्षम नहीं हूं कि इस समस्या का कारण क्या है। मेरे डेटाबेस तालिका तीन स्तंभ हैं
आईडी पूर्णांक autoincrement
नाम nchar (255)
पथ nchar (255)
अद्यतन: मैं जांच की गई मेरी edmx फ़ाइल और SSDL खंड StoreGeneratedPattern = "पहचान" के रूप में है सुझाव दिया। मैंने ब्लॉग पोस्ट का भी पालन किया और सीएसडीएल में क्लाइंटऑटो जेनरेटेड = "सच्चा" और स्टोर जेनरेटेड = "सच्चाई" को जोड़ने का प्रयास किया। इसके परिणामस्वरूप त्रुटियों को संकलित किया गया (त्रुटि 5: 'क्लाइंटऑटो जेनरेटेड' विशेषता की अनुमति नहीं है।)। चूंकि ब्लॉग पोस्ट 2006 से है और इसके बाद फॉलो अप पोस्ट का एक लिंक है, मुझे लगता है कि यह बदल दिया गया है।
हालांकि, मैं फॉलोअप पोस्ट नहीं पढ़ सकता क्योंकि ऐसा लगता है कि यह एक एमएसडीएन खाता की आवश्यकता है।
मेरे लिए उत्तर संपत्ति पर 'StoreGeneratedPattern =" पहचान "सेट करना था, [अधिक जानकारी के लिए यहां देखें] (http://www.matthewedmondson.info/2012/09/entity-framework-and। एचटीएमएल)। –
यह भी तब होता है जब आप INSERT, अद्यतन, DELETE के लिए SotredProcedure मैपिंग का उपयोग करते हैं और आपकी आईडी कुंजी एसपी के अंदर एक गणना कुंजी है। –