क्या निबर्ननेट प्रॉक्सी परिवर्तन ट्रैकिंग को प्रभावी बनाने के लिए कोई स्मार्ट काम करता है? या क्या यह केवल समर्थन करता है कि एंटीटी फ्रेमवर्क स्नैपशॉट आधारित परिवर्तन ट्रैकिंग कहता है?NHibernate परिवर्तन ट्रैकिंग को कैसे कार्यान्वित करता है?
उत्तर
यह स्नैपशॉट-आधारित है।
एक इकाई लोड करते समय, इसकी स्थिति सत्र में एक वस्तु के रूप में संग्रहीत होती है []।
फ़्लशिंग करते समय, वर्तमान स्थिति को किसी ऑब्जेक्ट में परिवर्तित किया जाता है [] और मूल स्थिति की तुलना में यह निर्धारित करने के लिए कि कौन सी गुण गंदे हैं।
यह कई कारणों से अधिक कुशल है। उनमें से एक यह है कि आप को परिवर्तनों को ट्रैक करने के लिए प्रॉक्सी की आवश्यकता नहीं है। दूसरा यह है कि, यदि आप किसी संपत्ति को किसी भिन्न मूल्य पर सेट करते हैं और फिर इसे वापस लेते हैं, तो इकाई को गंदे नहीं माना जाएगा, इस प्रकार एक अनावश्यक डीबी कॉल से परहेज किया जाएगा।
NHibernate और EntityFramework ट्रैक बहुत अलग तरीकों से बदलते हैं। इकाई फ्रेमवर्क इकाई में परिवर्तन को ट्रैक करता है। सत्र में NHibernate ट्रैक बदलता है।
इकाई में ट्रैकिंग परिवर्तनों में अधिक मेमोरी की आवश्यकता होती है (क्योंकि आप पहले मानों के साथ-साथ बाद के मूल्यों को संग्रहीत कर रहे हैं)। ऑब्जेक्ट्स ऑब्जेक्ट कॉन्टेक्स्ट से डिस्कनेक्ट करने के बाद भी परिवर्तन ट्रैकिंग को बनाए रख सकते हैं।
सत्र में ट्रैकिंग परिवर्तन समग्र रूप से अधिक कुशल है, लेकिन यदि आप सत्र से किसी इकाई को डिस्कनेक्ट करते हैं, तो आप परिवर्तन ट्रैकिंग खो देते हैं।
क्या यह कथन सही है? जहां तक मुझे पता है, ईएफ इकाई परिवर्तनों को ट्रैक करने के लिए एक तथाकथित परिवर्तन ट्रैकर का उपयोग करता है। इकाई में कोई परिवर्तन ट्रैकिंग बुनियादी ढांचा नहीं है। – Andreas
- 1. JVMs IdentityHashMap को कैसे कार्यान्वित करता है?
- 2. Django मॉडल उदाहरणों में ट्रैकिंग परिवर्तन
- 3. कैसे इकाई में ट्रैकिंग काम करता है फ्रेमवर्क
- 4. एक्सकोड में ट्रैकिंग चर या स्मृति परिवर्तन?
- 5. स्मृति परिवर्तन में सीक्यूएस को कैसे कार्यान्वित करें?
- 6. एक पिक्सेल ट्रैकिंग कोड कैसे बनाएं और कार्यान्वित करें
- 7. फर्थ को शब्दकोश को कार्यान्वित कैसे करता है? (विवाद)
- 8. एसक्यूएल सर्वर 2008: परिवर्तन ट्रैकिंग तालिका कहां संग्रहीत है?
- 9. वर्कफ़्लोई इनलाइन संपादन को कैसे कार्यान्वित करता है?
- 10. ऐपेंगीन कुशलतापूर्वक सूची में क्वेरी को कार्यान्वित कैसे करता है?
- 11. मोंगोडीबी अपने स्थानिक इंडेक्स को कैसे कार्यान्वित करता है?
- 12. इवेंट ट्रैकिंग मुख्य थ्रेड को अवरुद्ध करता है। कोई फिक्स?
- 13. Google अपने Analytics ट्रैकिंग कोड को अनदेखा क्यों करता है?
- 14. रेलवे पर्यवेक्षकों के साथ ट्रैकिंग क्षेत्र में परिवर्तन
- 15. NHibernate
- 16. एक सरणी के तत्वों के ko.computed ट्रैकिंग परिवर्तन
- 17. ट्रैकिंग
- 18. एसक्यूएल सर्वर 2008 में परिवर्तन ट्रैकिंग पर सलाह
- 19. परिवर्तन ट्रैकिंग सक्षम है या नहीं, यह जांचने के लिए कैसे करें
- 20. जावास्क्रिप्ट निष्पादन ट्रैकिंग - कैसे?
- 21. मोशन ट्रैकिंग बनाम ब्लॉब ट्रैकिंग
- 22. मैं NHibernate का उपयोग करके चेंजटाइम और चेंजयूसर कॉलम को कैसे कार्यान्वित करूं?
- 23. नीचे ट्रैकिंग डेटाबेस कनेक्शन जारी करता
- 24. एक क्षैतिज स्क्रॉलिंग उलटी गिनती टाइमर कैसे कार्यान्वित करता है?
- 25. सी ++: व्युत्पन्न + बेस क्लास एक इंटरफेस को कार्यान्वित करता है?
- 26. ट्रैकिंग आईओएस कई मार्केटिंग स्रोतों से स्थापित करता है
- 27. आईओएस दृश्य परिवर्तन फ्रेम को संशोधित करता है?
- 28. उल्टा रोटेशन कॉन्फ़िगरेशन परिवर्तन को ट्रिगर नहीं करता है
- 29. परिप्रेक्ष्य परिवर्तन पीआईएल में कैसे काम करता है?
- 30. NHibernate को कैसे बताना है कि एक ट्रिगर दूसरी तालिका अपडेट करता है?
क्या आप ऑडिट लॉगिंग के बारे में बात कर रहे हैं, जहां परिवर्तन दर्ज किए जाते हैं, या संस्थाओं के पिछले संस्करणों में वापस जाने की क्षमता के साथ पूर्ण परिवर्तन प्रबंधन? – DanK
यदि इकाई में कई गुण हैं ORM को केवल बदले गए गुणों के साथ डेटाबेस में अद्यतन कथन जारी करना चाहिए। LINQ से SQL में, यह जानता है कि गुण बदल गए हैं या नहीं, INotifyPorpertyChanging/Changed इंटरफ़ेस के माध्यम से (हालांकि यह एक आवश्यकता नहीं है, इस मामले में यह स्नैपशॉट आधारित परिवर्तन ट्रैकिंग पर वापस आ जाता है, यह हर गुणों की तुलना करता है कि कौन से प्रोपरीज बदल गए हैं)। – Alice