कृपया शामिल करें:
- इकाई परिभाषा
- संदर्भ से मैपिंग क्लास / कॉन्फ़िगरेशन
- एसक्यूएल तालिका परिभाषा
BackPropagateServerGen
स्टैक ट्रेस को देखते हुए, मुझे जो मुख्य चीज़ दिखाई दे रही है वह है BackPropagateServerGen
।
एंटिटी फ्रेमवर्क डेटाबेस के खिलाफ आपका अपडेट चला रहा है, लेकिन आपके समग्र कुंजी मानों में से एक (संभवतः COPY_ID) को वास्तव में UPDATE कॉल द्वारा बदला जा रहा है। यह सर्वर-जनरेटेड वैल्यू SQL कॉल से वापस आ रहा है, और फिर एंटिटी फ्रेमवर्क शिकायत कर रहा है कि इसके नीचे से की वैल्यू को बदला जा रहा है।
इसलिए, मुझे लगता है कि आपका COPY_ID समग्र कुंजी मान सर्वर-जनित पहचानकर्ता के रूप में परिभाषित है, लेकिन इनमें से एक या दोनों हो रहा है:
- आप एक दृश्य या एक संग्रहीत कार्यविधि के लिए मानचित्रण कर रहे हैं जो एक वैनिला अद्यतन से इकाई फ्रेमवर्क की अपेक्षा के साथ हस्तक्षेप कर रहा है
- आपके पास टेबल, दृश्य या संग्रहीत कार्यविधि पर एक या अधिक ट्रिगर हैं जो परिणाम में हस्तक्षेप कर रहे हैं।
यदि आपके पास कोई ट्रिगर हैं, तो उन्हें अस्थायी रूप से अक्षम करके देखें कि क्या समस्या रुक जाती है।
यदि आप किसी दृश्य या संग्रहीत कार्यविधि के लिए मानचित्रण कर रहे हैं, तो यदि संभव हो तो सीधे तालिका में मानचित्रण करने का प्रयास करें।
जो भी SQL कोड द्वारा निष्पादित किया जा रहा है उसे कैप्चर करने के लिए आपके पास जो भी प्रोफाइलिंग टूल हैं, उनका उपयोग करें।
सारांश
मुझे लगता है कि अद्यतन कॉल वास्तव में डेटाबेस तक पहुंच रहा है, लेकिन वापसी परिणाम कुंजी मान बदल रहा है, जिससे इकाई फ्रेमवर्क विफल हो रहा है, और संभावित रूप से अद्यतन लेनदेन को वापस रोल कर रहा है (आप जिस ईएफ का उपयोग कर रहे हैं उसके आधार पर)।