2010-10-15 13 views
10

अगर मैं एक इकाई ढांचे 4 संदर्भ है सामान्य रूप से अगर मैं की तरह एक प्रश्न समाप्त हो गया है को रोकने, दूसरी क्वेरी से लौटाई गई वस्तुएं, जिन्हें पहले से भी वापस कर दिया गया था, डेटाबेस से लोड नहीं होंगे। ईएफ उस वस्तु के लिए पहले से ही ऑब्जेक्ट ले जाएगा।इकाई की रूपरेखा 4 बुनियादी कैशिंग

प्रश्न, इस सुविधा को बंद करने का सबसे अच्छा तरीका क्या है? क्या मैं बिना किसी अपवाद के डेटाबेस से प्रत्येक ऑब्जेक्ट को लोड करने के लिए ईएफ बता सकता हूं?

धन्यवाद!

उत्तर

9

आपको अपनी इकाई के लिए मर्जऑशन सेटिंग बदलने की आवश्यकता है, उदा।

db.Invoices.MergeOption = MergeOption.OverwriteChanges; 

OverwriteChanges मतलब यह है कि वस्तुओं हमेशा डेटा स्रोत से लोड किए गए हैं। ट्रैकिंग को पूरी तरह अक्षम करने के लिए आप NoTracking का भी उपयोग कर सकते हैं, यदि आपको डेटा में अपडेट करने या क्वेरी का दोबारा उपयोग करने की आवश्यकता नहीं है तो प्रदर्शन में सुधार हो सकता है। डिफ़ॉल्ट मान AppendOnly है जिसमें आपके द्वारा देखा गया व्यवहार है।

संबंधित मुद्दे