कोई भी Subsonic3 और Entity Framework के साथ काम करता है जो मुझे पेशेवरों और विपक्ष बता सकता है? यह मेरी पहली बार कोशिश करने का प्रयास कर रहा है। सबसोनिक सेटअप करने के लिए आसान है ताकि इकाई फ्रेमवर्क के रूप में। मुझे यकीन नहीं है कि क्या इकाई फ्रेमवर्क अन्य डेटाबेस के साथ काम करता है क्योंकि SubSonic MySQL PGsql आदि की तरह करता है ...? मैंने इस पोस्ट को पढ़ा (http://www.timacheson.com/Blog/2009/jun/entity_framework_vs_subsonic) जो सबसोनिक पर एंटीटी फ्रेमवर्क चुनने के लिए पर्याप्त है। लेकिन मैं एक दूसरा खुलना चाहता था।सबसनिक 3 वीएस इकाई फ्रेमवर्क
उत्तर
ठीक है, ये दोनों काफी अलग जानवर हैं!
सबसनिक 3 डेटाबेस संरचना को आसानी से और आसानी से मानचित्रण करने के लिए एक बहुत अच्छा टूल है, कक्षाओं को ऑब्जेक्ट करने के लिए बहुत अधिक 1: 1, जहां प्रत्येक वर्ग अंतर्निहित डेटाबेस में तालिका का सटीक प्रतिनिधित्व होगा (जैसा कि लिंक- टू-एसक्यूएल भी)।
दूसरी तरफ इकाई फ्रेमवर्क अधिक जटिल परिदृश्यों को लक्षित करता है, जहां आपका डोमेन या ऑब्जेक्ट मॉडल (आपकी कक्षाएं) डेटाबेस तालिकाओं में 1: 1 को मानचित्र रूप से मैप नहीं करेंगे। यही कारण है कि ईएफ में एक्सएमएल फाइलों का त्रयी है - एक वैचारिक स्तर (आपके डोमेन ऑब्जेक्ट्स) का वर्णन करता है, एक भंडारण स्तर (डेटाबेस लेआउट), और उन दोनों के बीच मैपिंग।
आईएमएचओ, सबसनिक 3 और लिंक-टू-एसक्यूएल त्वरित, छोटे से मध्यम आकार की परियोजनाओं के लिए बिल्कुल सही हैं, जहां आपका डेटाबेस आवश्यक होने पर बदलने के लिए पर्याप्त लचीला है, और जहां आपके टेबलों पर आपकी ऑब्जेक्ट्स का एक सरल सीधा मैपिंग है । ईएफ वास्तव में बड़े पैमाने पर एंटरप्राइज़ ऐप्स में चमकता है, जहां आपका डेटाबेस स्तर पत्थर में सेट किया जा सकता है, और आप इसे बदल नहीं सकते हैं - या आपके ऐप को "जीवित रहने" की आवश्यकता है भले ही अंडरलिंग डेटाबेस बदल जाए।
मेरी राय में पूरी तरह से अलग जानवर - पूरी तरह से अलग दर्शक।
मार्क
पुनश्च: मुझे आश्चर्य है अगर टिम वास्तव में इस तुलना में सबसोनिक 3 का उपयोग किया गया था, और वास्तव में वह क्या कर रहा था। मेरा आंत महसूस होता कि ईएफ "बड़ा" ओवरहेड होगा और इस प्रकार थोड़ा कम प्रदर्शन करने वाला हो सकता है (लेकिन अधिक लचीला, और एंटरप्राइज़ परिदृश्य में, यह सोने में अपना वजन लायक है, यहां तक कि इसके लिए कुछ प्रदर्शन बलिदान करते समय भी)
महान उत्तर के लिए धन्यवाद। – Shuaib
आपके पीएस के आगे, लेख "सबसनिक 2.1 (3.0 के साथ उत्पादित इसी तरह के परिणाम) कहते हैं"। आप की तरह, मैंने सोचा होगा कि अधिक हल्के सबसोनिक तेज हो गए होंगे। और मुझे पता है कि मैं एसएस बनाम मूल कोडिंग का उपयोग करके थोड़ा प्रदर्शन दे रहा हूं, लेकिन लचीलापन निश्चित रूप से इसके लायक है। – kevinw
यदि यह मदद करता है, तो मेरे बेंचमार्क में मैंने सबसनिक 2.1 (जैसा बताया गया है) का उपयोग किया और मध्यम लोड परिदृश्य (जैसा कि बताया गया है) में डेटा एक्सेस परतों की तुलना की गई। मैंने कोड प्रदान किया, इसलिए मेरा परीक्षण आसानी से दोहराया जा सकता है।
यदि आप सिस्टम लोड करने के अधीन रहते हैं, तो उपयोग में रहते हुए वेब अनुप्रयोग में स्थितियों को पुन: उत्पन्न करना, ईएफ बेहतर प्रदर्शन प्रदान करने के लिए साबित होता है। पूरे वेब एप्लिकेशन के लोड परीक्षण इसकी पुष्टि करें। अधिक जटिल परीक्षणों में, आलसी-लोडिंग जैसे ईएफ की अनुकूलन क्षमताओं Subsonic पर अभी तक अधिक प्रदर्शन लाभ प्रदान कर सकते हैं।
यदि आप व्यक्तिगत डेटा एक्सेस ऑपरेशंस की तुलना करते हैं, उदा। एक साधारण इकाई परीक्षण में, सबसनिक तेजी से प्रतीत होता है। विशेष रूप से, Subsonic और अधिक जल्दी शुरू किया।
यदि प्रदर्शन एक महत्वपूर्ण विचार है तो मैं फ्लुएंट एनएचबेर्नेट या इकाई फ्रेमवर्क की अनुशंसा करता हूं।
टिम के मानक सामान्य परफ परीक्षण नहीं हैं - इसमें सबसोनिक लोड होने में इतना समय नहीं लगता है। http://blog.wekeroad.com/subsonic/subsonic-scaling/ –