मैं मौजूदा डेटाबेस के साथ NHibernate का उपयोग करने की कोशिश कर रहा हूं। डेटा-मॉडल में प्रत्येक तालिका में कॉलम होते हैं जिसमें पंक्ति में किए गए अंतिम अपडेट का समय और उपयोगकर्ता नाम होता है। मैं NHibernate का उपयोग करके यह कैसे कर सकता हूं?मैं NHibernate का उपयोग करके चेंजटाइम और चेंजयूसर कॉलम को कैसे कार्यान्वित करूं?
मैंने इंटरसेप्टर को कार्यान्वित करने की कोशिश की जो इकाइयों में चेंजटाइम और चेंजयूसर को IInterceptor.OnSave विधि का उपयोग करके सहेजने से पहले सेट करता है। यह काम नहीं करता है क्योंकि इन गुणों को सेट करने से पंक्ति में एक अद्यतन ट्रिगर होता है भले ही कोई अन्य गुण संशोधित नहीं किया गया हो।
यदि एनएचबीर्नेट को चेंजटाइम और चेंजयूसर गुणों को बाहर करने के लिए कहने का कोई तरीका था तो यह काम कर सकता था, तो यह गंदा जांच करता है। लेकिन मुझे इसे पूरा करने का कोई तरीका नहीं मिला है।
किसी भी मदद के लिए धन्यवाद।
धन्यवाद! वास्तव में अच्छा जवाब, मुझे बहुत मदद की। यह विधि संस्थाओं के गुणों को संशोधित नहीं करती है, केवल डेटाबेस में जो लिखा जाता है। लेकिन एक ही समय में इकाई के गुणों को सेट करने में कोई समस्या नहीं है। –
इस सटीक समस्या के लिए एक और पूर्ण समाधान के लिए, कृपया http://ayende.com/Blog/archive/2009/04/29/nhibernate-ipreupdateeventlistener-amp-ipreinserteventlistener.aspx – mookid8000
पर एक नज़र डालें, Ayende के ब्लॉग पोस्ट के अनुसार इकाई वस्तु (evt.Entity) और राज्य को अद्यतन करने के लिए आवश्यक है। –