2009-04-08 17 views
5

पर एक का उपयोग कब करें, मैं एक Microsoft .NET दुकान में काम कर रहा हूं जहां NHibernate या ADO.NET EF का उपयोग करना ठीक है। जब आप एक दूसरे को चुनना चाहिए तो हमें किस मार्गदर्शन का उपयोग करना चाहिए?एडीओ.NET इकाई फ्रेमवर्क और एनएचबीर्नेट - अन्य

उदाहरण के लिए, ऐसा लगता है कि सिल्वरलाइट ऐप लिखते समय EF -to-> ADO.NET डेटा सर्विसेज-टू-> सिल्वरलाइट उत्पादकता बढ़ाने की पेशकश करेगा, और आपको अतिरिक्त प्रयास के लिए एक आरईएसटी सेवा API प्रदान करेगा।

ऐप के आधार पर ऐप पर आपको अन्य चीजों की सहायता करने में क्या मदद करनी चाहिए?

अद्यतन (टिप्पणी के आधार पर): यह एक थोड़ा उपयोगी What differentiates Nhibernate from other ORM’s? दूसरों अजीब स्पर्शरेखा (सबसोनिक की तरह) में बंद जाने के लिए और सीधे दोनों के बीच तुलना नहीं है। मुझे लगता है कि मैं विशेष रूप से उन लोगों की तलाश कर रहा हूं जो दोनों का उपयोग करते हैं, और परियोजना द्वारा एक परियोजना पर निर्णय लेते हैं जिसका उपयोग वे करेंगे।

+0

यह कई बार एक डुप्लिकेट है। बस इस पृष्ठ के दाईं ओर संबंधित प्रश्नों को देखें। –

उत्तर

6

संक्षेप में, ईएफ के पास बॉक्स से कोई दृढ़ता अज्ञान समर्थन नहीं है। जब मैंने पहली बार पिछले साल ईएफ के साथ समाधान बनाने की कोशिश की, तो मैं थोड़ा नाराज था कि आपके पास अपने आवेदन में पीओसीओ नहीं हो सकते हैं। मैं अपने मॉडल के साथ डिकूप्लिंग की उच्च डिग्री चाहता था इसलिए मैं एनएचबेर्नेट में स्विचिंग समाप्त कर दिया। तब से, किसी ने ईएफ पॉको एडाप्टर लिखा है। http://code.msdn.microsoft.com/EFPocoAdapter - हालांकि यह वास्तव में केवल एक कोडगनेटर है जो आपकी ऑब्जेक्ट्स को मैप करने के लिए एडाप्टर परत उत्पन्न करता है।

किसी कारण से, मेरा ऐप एनएचबर्ननेट के तहत भी थोड़ा तेज़ी से भाग गया। इसे नमक के अनाज के साथ लें क्योंकि मैं समाधान को कॉन्फ़िगर करने के लिए नया था।

+0

ईएफ v2.0 के लिए पीरसिस्टेंस अज्ञानता की योजना बनाई गई है जिसे .NET 4 के साथ भेजना चाहिए।0/वीएस 2010, 2010 की शुरुआत में कुछ समय पहले –

+0

जानकारी के लिए धन्यवाद। वी 2 में दृढ़ता अज्ञानता सुनने के लिए अच्छा है। एडाप्टर पर एक नज़र डालेंगे, इससे पहले नहीं देखा था। लेकिन अगले 18 महीनों में मुझे लगता है कि मैं ज्यादातर एनएच के साथ चिपके रहूंगा। मैंने पहले से ही उन डर्न कॉन्फ़िगरेशन फ़ाइलों को लिखना सीखा है;) – BuddyJoe

+0

... और अब आपको फिर से मैपिंग को अनदेखा करना होगा, क्योंकि जो भी "ठंडा" है, वह अब स्पष्ट रूप से करता है :) http://fluentnhibernate.org/ – HenningK

2

मैं शायद अब के लिए इकाई ढांचे से परहेज कर रहा हूं। vote of no confidence है कि प्रसिद्धि का काम दिया गया था, यह उल्लेख न करें कि यह एनएचबीर्नेट के रूप में परिपक्व नहीं है।

ऐसा कहकर, मैं इकाई ढांचे का मूल्यांकन करना जारी रखूंगा क्योंकि मुझे यकीन है कि यह समय के साथ बेहतर होगा।

+0

+1 "नो कॉन्फ का वोट" देखा था, और लापता या कमी की कार्यक्षमता के बारे में ब्लॉग पोस्ट्स को देखा था। लेकिन इसके बारे में आपका अधिकार सुधार रहा है। माइक्रोसॉफ्ट आमतौर पर तीसरे प्रयास से सामान प्राप्त करता है। – BuddyJoe

4

माइक्रोसॉफ्ट ने हाल ही में .NET Ria Services (अब के लिए) नामक एक नया समाधान विकसित करना शुरू कर दिया है, जो सर्वर पर रहने वाली व्यावसायिक लॉजिक परत से सिल्वरलाइट में डेटा प्राप्त करने के लिए "ORM स्वतंत्र" होगा।

उन्होंने सार्वजनिक रूप से उल्लेख किया है (मिक्स पर स्लाइड पर भी) कि एनएच विल यहां समर्थित होगा।

यदि आप ऐसे समाधान की तलाश में हैं जहां सबसे अधिक समुदाय समर्थन है, तो NHibernate निश्चित रूप से उत्तर है। मैं स्वीकार करूंगा कि इसमें एक सीधी सीखने की वक्र है, लेकिन मेरे अनुभव में यह निश्चित रूप से इसके लायक है। बस "इकाई ढांचे" और "निबर्ननेट" के लिए तुलनात्मक खोज करें, और आप देखेंगे कि मेरा क्या मतलब है। अधिकांश ईएफ सामान "प्रेस" होंगे, जबकि एनएचबीर्नेट सामान वास्तव में तकनीकी, गॉरी विवरणों के नीचे-नीचे होंगे। और सवाल। उत्तर दिया जा रहा है।

लेकिन जैसा कि अन्य पोस्टर ने उल्लेख किया है - मुझे यकीन है कि समय के साथ इकाई फ्रेमवर्क में सुधार होगा। अभी के लिए, मुझे विश्वास है कि वे एक टूलसेट के साथ कई समस्याओं को हल करने की कोशिश कर रहे हैं। NHibernate सिर्फ एक चीज करता है, लेकिन यह असाधारण रूप से अच्छा करता है।

यहां एप्लिकेशन डिज़ाइन का मुद्दा भी है। ऐसा लगता है कि ईएफ एक सी # अनुप्रयोग में डेटाबेस देने के लिए बनाया गया है (इसके वर्तमान अवतार में)। NHibernate दूसरी तरफ जाता है, और ऑब्जेक्ट मॉडल को जारी रखना आसान बनाता है।

+0

+1 अच्छे विचार। आपको मुझे एनएचबीर्नेट पर बेचने की ज़रूरत नहीं है। मैं अब लगभग 3 महीने के लिए खुदाई कर रहा हूं। मुझे यह ईएफ की तुलना में अधिक अनुकूलन और मॉड्यूलर लगता है। ऐसा करने का एनएच तरीका मुझसे बात करता है। ईएफ के साथ LINQ अभी भी थोड़ा विदेशी लगता है। – BuddyJoe

+1

आरआईए सेवाओं पर पढ़ा जाएगा। – BuddyJoe

संबंधित मुद्दे