/ / SQLServer में परिभाषित संबंधित डेटा और कैस्केडिंग Deletes के साथ एक इकाई को हटाने - इकाई-ढांचे, इकाई-ढांचे -6

SQLServer में परिभाषित संबंधित डेटा और कैस्केडिंग Deletes के साथ एक इकाई को हटाने - इकाई-ढांचे, इकाई-ढांचे -6

मुझे निम्न त्रुटि मिल रही है जब मैंएक इकाई को हटाने के बाद SaveChanges जिसमें संदर्भ में डेटा युक्त संबंधित इकाइयां भी हैं। (जिस इकाई को मैं हटा रहा हूं वह अनन्य प्राथमिक कुंजी है)। मेरे पास प्राथमिक कुंजी तालिका और विदेशी कुंजी तालिका के बीच संबंध के लिए SQL सर्वर डेटाबेस स्तर पर कॉन्फ़िगर किया गया कैस्केडिंग हटा है।

"ऑपरेशन विफल: रिश्ते को बदला नहीं जा सका क्योंकि विदेशी मुद्रा की एक या अधिक संपत्ति गैर-शून्य है। जब किसी रिश्ते में बदलाव किया जाता है, तो संबंधित विदेशी-कुंजी संपत्ति शून्य मूल्य पर सेट होती है। यदि विदेशी कुंजी सु नहीं है ...

प्राथमिक इकाई का संबंधित डेटा लोड होता हैस्पष्ट रूप से संदर्भ से प्राथमिक को हटाने से पहले। मैंने माना कि ईएफ और एसक्यूएल सर्वर मेरे लिए कैस्केड डिलीट का ख्याल रखेंगे। यदि संबंधित इकाई में कोई डेटा नहीं है तो हटाएं (प्राथमिक इकाई का) ठीक काम करता है। यदि संबंधित इकाई में डेटा है, तो मुझे उपरोक्त त्रुटि मिलती है।

कोई सुझाव?

उत्तर:

जवाब के लिए 0 № 1

सबक यह है कि ईएफ में एक सीखने की वक्र है। अन्वेषण रखें।

वैसे भी, मैं इसे स्थापित करके इकाइयों को "हटा रहा था"SaveChanges को कॉल करने के बाद "हटाया गया" राज्य। अगर इकाई के पास कोई संबंधित डेटा नहीं है तो यह ठीक काम करता है। हालांकि, अगर आपके पास ऐसी इकाई है जो "बच्चे" इकाइयों से संबंधित है, तो आपको ग्राफ़ के माध्यम से कैस्केड करने के लिए "हटाएं" के लिए मूल इकाई पर निकालना होगा। जियो और सीखो। मुझे यकीन है कि यह जवाब है। मुझे लगता है कि मैं समय के लिए राज्य को हटाए जाने के लिए राज्य को रोकना बंद कर दूंगा और इसके बजाय निकालें।