मुझे लगता है कि एनएचबीर्नेट सीखने में अधिक समय लगता है।
ईएफ ग्राफिकल डिजाइनर प्रदान करता है, दुर्भाग्यवश एनएचबेर्नेट में एक सामान्य डिजाइनर नहीं है। बीटीडब्ल्यू यह कोई समस्या नहीं है। यदि आप डोमेन-संचालित (डीडीडी) तरीके से डिज़ाइन करते हैं, तो आप अपनी इकाइयों को पहले डिज़ाइन करेंगे और आपको डेटाबेस संरचना (जैसा आपने उपयोग किया था) की परवाह नहीं है, एनएचबीर्नेट आपके लिए इसे संभालेगा।
ईएफ 4 एनएचबीर्नेट के करीब पहुंच गया। मैं ईएफ 3.5 के साथ काम करना शुरू नहीं करूँगा, इसमें बहुत सी फीचर्स नहीं हैं।
यदि आपको लगता है कि एनएचबर्ननेट पहली नजर में बहुत जटिल है, तो आप एनएचबर्ननेट के शीर्ष पर बनाए गए ढांचे के साथ शुरू कर सकते हैं। ActiveRecords और तीव्र वास्तुकार अच्छे उदाहरण हैं।
AFAIR ईएफ 3.5 केवल SQL सर्वर 2000 समर्थित है। यह SQL सर्वर 2005 से नए डेटा प्रकारों को संभाल नहीं सका। मुझे ईएफ 4 पर कोई जानकारी नहीं है लेकिन मुझे लगता है कि यह इन सुधारों का समर्थन करता है।
यदि आप वास्तविक शब्द अनुप्रयोगों में NHibernate का उपयोग करते हैं, तो आपको एक बुनियादी ढांचा बनाना होगा। जैसे मैं काम और भंडार पैटर्न की यूनिट कार्यान्वित परीक्षण लिख सकते हैं और अपने आवेदन में परतों बनाने के लिए सक्षम होने के लिए। आपको ईएफ का उपयोग करके इसकी अपेक्षा करनी होगी। Detaching और संलग्न संस्थाओं एफई 3.5 में एक आसान बात नहीं थी, मैं क्षेत्रों गंदा और इतने पर चिह्नित करने के लिए मुश्किल विस्तार तरीकों लिखना पड़ा। मुझे उम्मीद है कि उन्होंने इसे ईएफ 4 में हल किया है। एनएचबीरनेट के साथ ऐसी कोई समस्या नहीं है।
आपको एनएचबीर्नेट में एचक्यूएल प्रश्न लिखने की ज़रूरत नहीं है, तो आप LINQ प्रदाता का उपयोग कर सकते हैं। मुझे लगता है कि यह बहुत महत्वपूर्ण है। :)
सभी में सभी एनबीबर्नेट अच्छे समुदाय और वाणिज्यिक सहायता के साथ परिपक्व उत्पाद है। ईएफ युवा है लेकिन माइक्रोसॉफ्ट द्वारा दृढ़ता से समर्थित है। ओह, और ईएफ एक माइक्रोसॉफ्ट केवल एक चीज है जबकि आप अपने एनएचबीर्नेट ज्ञान को जावा पर भी पोर्ट कर सकते हैं। यह आपके लिए मायने रखता है।
.NET 3.5 या .NET 4.0? मैं आपको ईएफ 1.0/3.5 से दूर रहने की सलाह दूंगा। –