इकाई फ्रेमवर्क 6 डीबीसीएन्टेक्स्ट अक्षम विकल्प को अक्षम करें

EF6 में DELETE विकल्प को अक्षम करने के तरीके पर कोई भी मेरी मदद करें?

मेरा मतलब है एप्लिकेशन से, अब रिकॉर्ड हटाया जाना चाहिए (यहां तक ​​कि गलती से)

धन्यवाद।

0
धन्यवाद मालकिन डेविड
जोड़ा लेखक Ayya 2K, स्रोत
कोई शुद्ध कोड द्वारा हटाए गए अक्षम कर सकता है: यहां
जोड़ा लेखक arielorvits, स्रोत
हटाएं हटाएं शुद्ध कोड द्वारा किया जा सकता है। यहां देखें
जोड़ा लेखक arielorvits, स्रोत

2 उत्तर

संस्थाओं को AsNoTracking() विकल्प के साथ कॉल करते समय।

उदाहरण: - Context.Users.AsNoTracking()

स्टीवंस टिप्पणी के बाद संपादित करें

यह सच है कि कोई भी अभी भी इकाई स्थिति को मैन्युअल रूप से हटाए जाने और बदलने के लिए बदल सकता है। मैं डेटा एक्सेस के लिए रिपोजिटरी पैटर्न का उपयोग करके अनुशंसा करता हूं और हटाए गए ऑपरेशन को प्रतिबंधित कर सकता हूं। असेंबली के बाहर डीबीकॉन्टेक्स्ट छुपाकर।

0
जोड़ा
प्रिय सांच - आपके उत्तर के लिए धन्यवाद। इस तरह से, हमें प्रत्येक बार जब हम dbContext का उपयोग करते हैं तो यह विकल्प सेट करना होगा। श्री पावेल के नीचे सबसे अच्छा तरीका सुझा रहा है। धन्यवाद।
जोड़ा लेखक Ayya 2K, स्रोत
यह आपको किसी प्रश्न से आसानी से कुछ हटाने से रोक देगा। लेकिन यह किसी को ऑब्जेक्ट को अटैच करने से नहीं रोकता है, इसे EntityState.Deleleted पर सेट करता है और परिवर्तनों को सहेजता है।
जोड़ा लेखक Steven V, स्रोत

डेटाबेस में उपयोगकर्ता/भूमिका बनाएं जिसमें रिकॉर्ड्स को हटाने/संशोधित करने और आपके एप्लिकेशन में इसका उपयोग करने की अनुमति नहीं है। ईएफ स्वयं एक सुरक्षा उपकरण नहीं है और डिलीट ऑपरेशन करने के लिए हमेशा विकल्प होते हैं (उदाहरण के लिए एक डेवलपर डाटा एक्सेस लेयर में लागू सभी 'सुरक्षा' उपायों को छोड़कर डेटाबेस में किसी भी मनमानी SQL क्वेरी/कमांड को भेज सकता है)

0
जोड़ा
प्रिय Pawl - बढ़िया। मुझे यकीन है, यह करने का सबसे अच्छा तरीका है। आपका बहुत बहुत धन्यवाद।
जोड़ा लेखक Ayya 2K, स्रोत