ईएफ के माध्यम से सीआरयूडी ऑपरेशन करने की सर्वोत्तम प्रथाओं की खोज करते समय मैंने देखा कि इकाई को अद्यतन करने से पहले Attach()
या Find()
विधियों का उपयोग करने की अत्यधिक अनुशंसा की जाती है। यह अच्छी तरह से काम करता है और ईएफ दस्तावेज के अनुसार ये विधियां इकाई को संदर्भ में लाती हैं जो मेरे लिए काफी स्पष्ट है। लेकिन फॉलोइंड कोड ने मुझे काफी परेशान कियाअद्यतन इकाई फ्रेमवर्क 6 के लिए अटैचमेंट का उपयोग क्यों करें?
public void Update(object entity)
{
Record record = new Record() {
id = 1,
value = 5
};
using (SomeContext ctx = new SomeContext())
{
ctx.Entry(record).State = EntityState.Modified;
ctx.SaveChanges();
}
}
मान लें कि हमारे पास डेटाबेस में आईडी = 1 के साथ एक रिकॉर्ड है। इस स्थिति पर उपरोक्त कोड रिकॉर्ड अपडेट करेगा (मान को 5 पर सेट करें)। सवाल यह है कि यह क्यों काम करता है? और फिर मुझे Attach()
का उपयोग क्यों करना चाहिए? जहां तक मैं समझता हूं कि रिकॉर्ड किसी भी तरह से संदर्भ से जुड़ा नहीं था। मैंने this पुस्तक और the tutorial के प्रासंगिक अध्याय पढ़े लेकिन वे 2-क्वेरी-दृष्टिकोण का उपयोग करते हैं। इसके अलावा मैंने एसओ सर्फ किया लेकिन मुझे अपने प्रश्न पर जवाब नहीं मिला। कृपया स्पष्टीकरण या कुछ अच्छे माथेरियल के साथ मेरी मदद करें।
धन्यवाद, लेकिन इस रिकॉर्ड को वर्तमान में संदर्भ द्वारा क्यों ट्रैक किया गया है? –
यदि इकाई वर्तमान में ट्रैक की गई है और आप कुछ संपत्ति बदलते हैं, तो ट्रैकिंग स्थिति के कारण इकाई की स्थिति को 'संशोधित' में बदलना चाहिए, लेकिन इसके लिए आपकी संस्थाओं को यह [आवश्यकताओं] को पूरा करना चाहिए (https://msdn.microsoft.com/ en-us/library/dd468057 (v = vs.100) .aspx) – octavioccl
मुझे लगता है कि यह [लिंक] (https://www.safaribooksonline.com/library/view/programming-entity-framework/9781449331825/ch04s03.html) आपके सभी सवालों का जवाब दे सकता है – octavioccl