2009-06-16 17 views
27

हम बड़े बुढ़ापे वाले आंतरिक उद्यम अनुप्रयोग के पुनर्विकास शुरू करने के लिए तैयार हो रहे हैं। हमने एएसपी.नेट एमवीसी का उपयोग करने का फैसला किया है, लेकिन विचाराधीन है कि ऑब्जेक्ट रिलेशनल मैपिंग (ओआरएम) चुनने के लिए। निश्चित रूप से खुले स्रोत की एक भीड़ और भुगतान ओआरएम कार्यान्वयन उपलब्ध हैं। हालांकि, सबसे बड़ा दिमाग धारण करने लगता है, जबकि Entity Framework माइक्रोसॉफ्ट से नई गर्मता है।एएसपी.नेट एमवीसी और ओआरएम चयन

जबकि हम अनुसंधान कर रहे हैं और दोनों के साथ घूम रहे हैं, हम इसे समुदाय में रखना चाहते हैं, जिसके लिए ओआरएम (एनएचबीरनेट, एंटिटी फ्रेमवर्क, या अन्यथा) वे पसंद करते हैं और क्यों।

कुछ हद तक समान Stackoverflow प्रश्न

(अच्छा सूची है, लेकिन/औचित्य ओ डब्ल्यू)

अतिरिक्त .NET ORM पढ़ना

+0

कोई अपराध है, लेकिन यह इस प्रतीत होता है से पहले कहा गया है: http://stackoverflow.com/search?q= .NET + ओआरएम। http://stackoverflow.com/questions/380620/what-object-mapper-solution-would-you-recommend-for-net-closed को डुप्लिकेट के रूप में बंद कर दिया गया था। –

+0

वाह, मुझे नहीं पता कि जब मैं खोज रहा था तो मुझे यह प्रश्न कैसे नहीं मिला। Google और SO दोनों खोज ने मुझे असफल कर दिया। बंद होने पर कोई अपराध नहीं हुआ क्योंकि मैंने अन्यथा सवाल नहीं पूछा होगा। :) – ahsteele

+0

चूंकि मैं मानता हूं कि यह संभवतः बंद होना चाहिए, क्या यह प्रश्न को हटाना बेहतर है या वोट बंद करना बेहतर है? – ahsteele

उत्तर

13

आप Sharp Architecture एक ASP.NET MVC अनुप्रयोग फ्रेमवर्क जो NHibernate का उपयोग करता है पर एक नजर है चाहिए।

मैंने पिछले कुछ वर्षों में कुछ ओ/आरएम का उपयोग किया है और एनएचबीर्नेट के अलावा कुछ भी नहीं चुना जाएगा।

  1. यह सबसे परिपक्व है।
  2. इसे सुविधाओं का एक बड़ा सेट मिला है।
  3. इसके पीछे एक अच्छा समुदाय है।
  4. इसमें कुछ शानदार सहायक परियोजनाएं हैं जैसे Fluent NHibernate

मुझे नहीं पता कि लोग आपके द्वारा लिंक किए गए प्रश्नों में आपको और अधिक जानकारी देने में सक्षम होंगे।

+2

एक गैर मौजूदा डोमेन – Storm

+0

@Storm धन्यवाद लिंक लिंक, लिंक रोट की तरह दिखता है। मैंने github भंडार को इंगित करने के लिए यूआरएल अद्यतन किया है। –

2

पागल बात का जवाब: कोई नहीं।

यह कहना नहीं है कि ओआरएम सही इस्तेमाल होने पर प्रौद्योगिकी के अद्भुत टुकड़े नहीं हैं। लेकिन 2011 में, वे तेजी से सार्वभौमिक हथौड़ा बन रहे हैं जहां सभी समस्याएं नाखून नहीं हैं। और आधुनिक ओआरएम में बहुत कुछ चल रहा है, खासतौर पर उन लोगों के लिए जो उनसे अच्छी तरह से परिचित नहीं हैं, वे चीजों की मदद से चीजों को भ्रमित कर सकते हैं। या, कभी-कभी चीजें इतनी सरल होती हैं कि सीधे एसक्यूएल एक बेहतर विकल्प है। कोई फर्क नहीं पड़ता कि ओआरएम कितना अच्छा है, अमूर्त कुछ बिंदु पर रिसाव होगा।

चीजों को देखने के लिए दूसरी तरफ संपूर्ण नोएसक्यूएल आंदोलन है। तकनीक अभी भी थोड़ी नई है, लेकिन नए काम के लिए यह एक डेटा एक्सेस रणनीति है जिसे किसी को विचार करना चाहिए क्योंकि यह आपके आवेदन के निर्माण से बहुत अधिक क्रूर हो जाता है।

+3

ओपी ने स्पष्ट रूप से कहा कि वे कुछ सीखने के लिए शुरू नहीं कर रहे हैं, उनके उद्यम अनुप्रयोगों को फिर से डिजाइन कर रहे थे। और जब आप दृढ़ता चाहते हैं, तो अधिकांश बार ओआरएम सबसे आसान समाधान है। –

0

लघु जवाब: एकाधिक संभावनाओं देखते हैं का उपयोग दोनों (मैं वास्तव में दोनों का उपयोग करते हैं) ...

ORM के साथ, सभी निर्भर करता है कि आप क्या चाहते।

कोई वास्तविक ORM नक्शाकार के रूप में मैं दृढ़ता से NHibernate और Fluent राष्ट्रीय राजमार्ग मैपिंग recomment। एक अच्छी वास्तुकला को एक साथ रखने के लिए आपको बहुत सारे शोध की ज़रूरत है, लेकिन फिर आपके रास्ते में कुछ भी नहीं खड़ा है। न्यूनतम समझौता के साथ आपको वास्तविक लचीलापन मिलता है।

ईएफ 6x (कोर प्रोड-तैयार आईएमएचओ नहीं है) को ओआरएम कहा जाता है, लेकिन यह जो उत्पन्न करता है वह एक डीएएल के करीब है। कुछ चीजें हैं जो आप ईएफ 6 के साथ प्रभावी ढंग से नहीं कर सकते हैं। फिर भी, यह एक रीड-मॉडल के लिए मेरा पसंदीदा टूल है, जबकि मैं इसे एनएचबेर्नेट के साथ जोड़ता हूं (जहां एनएच मैं डीडीडी/लिखने के मॉडल के लिए उपयोग करता हूं)।

अब प्रदर्शन - इसका हमेशा समर्थक और विपक्ष। यदि आप ओआरएम आर्किटेक्चर (मेरा आलेख देखें: avoid ORM bad habits) में गहरा गहराई है तो आप इसे तेजी से बनाने के तरीकों को आसानी से पा सकते हैं। यहाँ मेरी कैसे तेजी (कम से कम पढ़ने परिस्थितियों के लिए) EF6x 5x बनाने के लिए पर एक और लेख है: EF6.x 5x faster

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