इनमें से कुछ प्राथमिकता है, इनमें से कुछ मौजूदा कोडबेस है। ऐसा समय था जब NHibernate में गैर-एक्सएमएल मैपिंग विकल्पों में कोई भी निर्मित नहीं था। इसे ठीक करने के लिए वहां कुछ समाधान थे - उदा। confORM, Fluent NHibernate, और दूसरों को शायद मुझे पता नहीं है।
3.2 के रूप में मुझे विश्वास है (शायद 3.0) एनएचबेर्नेट अब "कोड द्वारा मानचित्रण" है। फ्लुएंट एनएचबर्ननेट पर इसका लाभ यह है कि इसे अतिरिक्त लाइब्रेरी की आवश्यकता नहीं है, और यह उसी टीम द्वारा समर्थित है जो एनएचबीर्नेट के रूप में है। दूसरी तरफ, फ्लुएंट एनएचबर्ननेट थोड़ी अधिक परिपक्व है (जो मैंने सुना है) और मैपिंग कार्यों के एक व्यापक सेट का समर्थन कर सकता है।
मैंने "मौजूदा कोडबेस" का भी उल्लेख किया। जाहिर है, अगर आपके पास ऐसी परियोजना है जो पहले से ही फ्लुएंट एनएचबेर्नेट के साथ मैप की गई है, तो इसके साथ जारी रखना सबसे अच्छा होगा। यदि आप ताजा शुरू कर रहे हैं, तो शायद अंतर्निहित "मैपिंग बाय कोड"
यह मेरा बहुत विश्वास नहीं है। आप एनएच क्यों नहीं सीखेंगे और खुद के लिए देखें मतभेद क्या हैं? ** वैसे, मैं जावा सीख रहा हूं और सी # में पृष्ठभूमि है, मतभेद क्या हैं? ... ** – gdoron
मेरा मानना है कि वह विशेष रूप से मैपिंग का जिक्र कर रहा है। डाउनवोट ऑफसेट करने के लिए +1 और प्रश्न को और स्पष्ट होने के लिए संपादित किया। – Origin
मैं देख सकता हूं कि यह एक नए-कॉमर्स के लिए भ्रमित कैसे होगा, लेकिन @Origin की तरह नीचे दिए गए उनके जवाब में और डॉटजो ने अपने जवाब में क्या संकेत दिया, "कोड द्वारा मानचित्रण" सुविधा परियोजना की उम्र की तुलना में अपेक्षाकृत नई है। एक नौसिखिया के लिए, मैं सिर्फ एनएचबीर्नेट में निर्मित "कोड द्वारा मैपिंग" के साथ जाने की अनुशंसा करता हूं।मैं खुद फ्लुएंट एनएचबीनेट के साथ रहना जारी रखूंगा क्योंकि मेरे पास बहुत सारे कोड हैं जो वर्तमान में इसका उपयोग करते हैं और यह वाक्यविन्यास व्यक्तिगत रूप से मुझे अधिक समझ में आता है। –