तुम सच में नष्ट कर दिया गया उपयोग करना चाहते हैं, तो आप अपने विदेशी कुंजी नल बनाने के लिए होगा है, लेकिन फिर आप अनाथ रिकॉर्ड (जो मुख्य कारण आप पहली जगह में है कि कर नहीं होना चाहिए में से एक है) के साथ पहुंचते हैं। तो बस Remove()
ObjectContext.DeleteObject(entity) संदर्भ में हटाए गए इकाई को चिह्नित करता है। (यह EntityState कि बाद हटा दिया जाता है।) आप बाद में SaveChanges फोन एफई एक SQL डेटाबेस के बयान DELETE भेजता है। यदि डेटाबेस में कोई संदर्भित बाधाओं का उल्लंघन नहीं किया जाता है तो इकाई हटा दी जाएगी, अन्यथा अपवाद फेंक दिया जाएगा।
EntityCollection.Remove(childEntity) नष्ट कर दिया गया के रूप में माता पिता और childEntity के बीच संबंधों को चिह्नित करता है। childEntity ही डेटाबेस से हटा दिया गया है और वास्तव में क्या होता है जब आप SaveChanges फोन दो के बीच के रिश्ते के प्रकार पर निर्भर करता है:
एक बात ध्यान देने योग्य है कि स्थापित करने .State = EntityState.Deleted
does not trigger automatically detected change.(archive)
स्रोत
2015-06-23 08:35:36
रेफेरेंन्शिअल सत्यनिष्ठा विकिपीडिया: रेफरेंसियल अखंडता डेटा की एक संपत्ति है, जो संतुष्ट होने पर, एक संबंध (तालिका) के एक विशेषता (कॉलम) के प्रत्येक मान को एक अलग (या समान) संबंध (तालिका) में किसी अन्य विशेषता के मान के रूप में मौजूद होने की आवश्यकता होती है, इसलिए जब रिश्ते वैकल्पिक होता है तो हम डेटा इंटीग्रटी नियम – Mohammadreza
@ मोहम्मदरेज़ा को तोड़ते हैं: यदि आप 'न्यूल' को "मूल्य नहीं" के रूप में व्याख्या करते हैं (इसके बजाय "मान' NULL' "के रूप में। कभी-कभी थोड़ा सा गड़बड़ लिखा) फिर एक "वैकल्पिक संबंध" संदर्भित अखंडता की परिभाषा के विरोधाभास में नहीं है। – Slauma
तो 'ObjectContext.DeleteObject' की एफई कोर संस्करण क्या है? –