के लिए सार्वजनिक/आंतरिक फ़ील्ड को अनदेखा करें मेरे पास कुछ इकाई प्रकार हैं जिन्हें मैं आलसी लोड करना चाहता हूं। हालांकि, उनके पास कुछ आंतरिक (असेंबली) फ़ील्ड हैं जिनका वे खुलासा करते हैं, लेकिन उस वर्ग के बाहर उपयोग नहीं किया जाता है। ये फ़ील्ड संकलक उत्पन्न होते हैं (एफ #) और मैं उन्हें बदल नहीं सकता। एक उदाहरण अपवाद है:NHibernate प्रॉक्सी
NHibernate.InvalidProxyTypeException: Mappings.MTest: निम्नलिखित प्रकार प्रॉक्सी के रूप में इस्तेमाल नहीं किया जा सकता क्षेत्र आईडी @ 47 सार्वजनिक नहीं हो और न ही आंतरिक
मैं चाहिए समझें कि क्यों एनएचबीर्नेट यह कर रहा है, और यदि मैंने उन्हें एक्सेस किया है, तो फ़ील्ड कैसे हैं, जो जेनरेट किए गए प्रॉक्सी के आलसी लोडिंग गुणों को गड़बड़ कर देगा। हालांकि, चूंकि मुझे पता है कि मैं खेतों का उपयोग नहीं करूँगा, क्या मैं किसी भी तरह एनएचबीरनेट को ओवरराइड कर सकता हूं?
क्या कोई तरीका है कि मैं कह सकता हूं "इस क्षेत्र को अनदेखा करें"? मैं फ्लुएंट एनएचबेर्नेट का उपयोग कर रहा हूं, अगर इससे यह आसान हो जाता है।
संपादित करें: मैं यह भी ध्यान दें, मैं NHibernate 2.1.0 अल्फा 2. उपयोग कर रहा हूँ चाहिए
EDIT2: यहां मुख्य सार है कि मैं LazyLoading सक्षम रखना चाहते हैं, जिसका मतलब है मैं प्रॉक्सी पीढ़ी का उपयोग करना है । LazyLoading कार्यों को अक्षम करना (कोई प्रॉक्सी नहीं), लेकिन sorta NHibernate जैसे एक अच्छे ढांचे के उद्देश्य को हरा देता है।
काम करता है! स्प्रिंग.Net के लिए आप इसे "हाइबरनेटेड प्रॉपर्टीज" में जोड़ सकते हैं '<प्रविष्टि कुंजी =" use_proxy_validator "value =" false "/>' –