Wednesday 15 April 2015

c# - Way to track number and type of objects deleted in entity framework -


क्या अंतिम ObjectContext.SaveChanges () method?

मैं अपने आप परिवर्तनों को ट्रैक करना चाहता हूं जैसा कि अद्यतन हटाएं और ऑब्जेक्ट्स को सम्मिलित करना है, लेकिन जब विदेशी कुंजी रिश्ते होते हैं, तो संस्था का ढांचा स्वयं बाल संदर्भ को हटा देता है और यहां पर मैं ढीली ट्रैकिंग करता हूं।

उदाहरण के लिए, एक छात्र को हटा दें मुझे पता है कि मैंने एक छात्र को हटा दिया है।

लेकिन जब मैं क्लास को हटाता हूं, तो यह स्वचालित रूप से कक्षा से सभी छात्रों को हटा देता है क्योंकि मेरे पास उनके लिए विदेशी कुंजी रिश्ते हैं। समस्या यह है कि मैं यहां केवल ट्रैक कर सकता हूं कि एक वर्ग को हटा दिया जाता है लेकिन कक्षा में कितने छात्रों को हटा दिया गया था।

एक तरीका यह है कि इसे हटाने से पहले कक्षा के छात्रों की गिनती करनी है, लेकिन यह एक अनावश्यक यात्रा है

क्या आप < कोड> ChangeTracker संपत्ति को DbContext पर यह पता लगाने के लिए कि कौन सा इकाई फ़्रेमवर्क होगा जब SaveChanges कहा जाता है। यदि आप इसे से पहले आप SaveChanges को कॉल करते हैं तो आपको वह चीज मिल जाएगी जो इकाई फ़्रेमवर्क को हटाने या संशोधित करने वाला है।

यह मानता है कि यह वास्तव में < Em> इकाई फ़्रेमवर्क जो कैस्केडिंग हटाना है यह डेटाबेस में विदेशी कुंजी पर एक कैसकेड हटाना विकल्प के रूप में लागू किया जा सकता है। उस मामले में, डीबी को हटा दिया गया है और ईएफ नहीं है, इसलिए परिवर्तन ट्रैकर लंबित विलोपन से अवगत नहीं होगा।

No comments:

Post a Comment