क्या यह बेहतर है? मैंने कोडफर्स्ट एक्सटेंशन सुना लेकिन यह प्राइमटाइम के लिए तैयार है। कृपया अपने अनुभव को विकास, किसी भी प्रदर्शन ओवरहेड्स, आदि के साथ साझा करेंईएफ 4 एनएचबीरनेट के साथ तुलना कैसे करता है?
उत्तर
मुझे लगता है कि यह एक समय पर सवाल है, क्योंकि मैं वही चीज़ सोच रहा था। मैं एक गंभीर ई-कॉमर्स मॉडल बनाने की कोशिश कर रहा हूं और मैं अपने पीओसीओ को निरंतर चिंताओं से मुक्त रखने की कोशिश कर रहा हूं और साथ ही साथ डोमेन ड्राइव डिजाइन के लिए सही रहने की कोशिश कर रहा हूं। अब तक, मैं बहुत सावधान हूं, और मैं इस बारे में बाड़ पर हूं कि मुझे जहाज को एनएचबर्ननेट में कूदना चाहिए या नहीं। ऐसा करने से मुझे रखने वाली एकमात्र चीज यह है कि मुझे लगता है कि माइक्रोसॉफ्ट में सुधार होगा (और जल्दी)।
अब तक की सबसे बड़ी समस्याओं में से कुछ:
- पतले नियंत्रण वस्तु भौतिकीकरण की असमर्थता। ईएफ आपके पीओसीओ पर शून्य-तर्क कन्स्ट्रक्टर को कॉल करता है, और यह एक ऐसा व्यवहार है जिसे आप नहीं बदल सकते हैं।
- कोई enum समर्थन नहीं है। समुदाय चिल्ला रहा है - चिल्ला रहा है! - इसके लिए, और यह नहीं हुआ है। कामकाज भयानक हैं, और अपने डोमेन मॉडल को प्रदूषित करते हैं।
- डेटाबेस में कॉलम नामों और रिश्तों को नियंत्रित करने का प्रयास करते समय अजीब मैपिंग बग। जिन मुख्य चीजों के बारे में मैं सोच सकता हूं वे यौगिक कुंजी और कई से अधिक रिश्तों के साथ हैं। इन्हें चारों ओर काम किया जा सकता है, और मुझे लगता है कि इन्हें रिलीज समय से तय किया जाएगा, लेकिन फिर भी वे निराशाजनक हैं।
- खराब एसक्यूएल। मैं डीबीए काम भी करता हूं, और एसक्यूएल जो ईएफ उत्पन्न करता है (कोड-फर्स्ट के साथ या बिना) अत्याचारी है।
और यह सिर्फ हिमशैल की नोक है: मैं केवल ईएफ 4 सीखना शुरू कर रहा हूं और मैं भयानक रोडब्लॉक में भाग रहा हूं। जैसा कि मैं और कारणों के बारे में सोचता हूं, मैं उन्हें यहां जोड़ दूंगा। मैं अभी भी इसके माध्यम से संघर्ष कर रहा हूँ।
(मुझे आश्चर्य है कि क्या समुदाय इसके बारे में एक और वोट दे देंगे "अविश्वास।")
अधिक:
- "अजीब मानचित्रण बग" समस्या के लिए जोड़ने के लिए: आप नहीं कर सकते हैं कॉलम के नाम को नियंत्रित करें यदि यह स्वयं-संदर्भ संबंध में भाग लेता है (उदाहरण के लिए, यदि आपके पास पदानुक्रम है)। मुझे लगता है कि यह अंतिम रिलीज में तय किया जाएगा।
- बैचिंग की कमी, जिसके परिणामस्वरूप डेटाबेस में एकाधिक राउंडट्रिप्स हैं। उदाहरण के लिए, आप संग्रह से वस्तुओं का एक गुच्छा कैसे हटाते हैं? सभी इकाइयों को स्मृति में लोड करें और उन्हें एक समय में हटा दें। विरासत संबंध में भाग लेने वाली तालिकाओं में डालने पर डीबी हिट की संख्या एक छोटी पकड़ है।
- मॉडल परिवर्तनों से निपटने के लिए कोई बुद्धिमान तरीका नहीं है। ईएफ कोड-फर्स्ट को स्कीमा को बदलने की आवश्यकता होने पर अपने पूरे डेटाबेस को पूरी तरह से छोड़ना पसंद है।
- कुछ विस्तारशीलता अंक। आप सचमुच एक हाथ पर गिन सकते हैं कि ईएफ 4 आपको सब्सक्राइब करने की इजाजत देता है (और कोड-फर्स्ट अधिक प्रदान नहीं करता है)।
मेरे लिए - मैं एफई लेकिन कुछ संवर्द्धन के साथ पसंद करते हैं।मूल रूप से एफई निम्न लाभ आप के लिए प्रदान करता है:
- दृश्य मॉडल संपादक
- डाटाबेस/मॉडल अद्यतन विज़ार्ड (मैनुअल एक्सएमएल परिवर्तन के बजाय - क्या मेरे लिए भयानक है)
इसके अलावा, मैं कर रहा हूँ
- Geography support : 3-तीय पक्ष वाणिज्यिक कि मेरे लिए प्रदान एफई के आधार पर उपकरण और L2S ( LinqConnect) निम्न सुविधाओं का उपयोग
- Optimized SQL generation
- उत्पाद पूरी तरह से दृश्य स्टूडियो
- स्मार्ट डेटाबेस अपडेट विज़ार्ड (तुल्यकालन मोड)
यह बहुत रोचक और उपयोगी है करने के लिए एकीकृत। मुझे आशा है कि इस धागे को बंद करने से पहले अधिक लोगों की टिप्पणी करें। –
मैं और भी सुनना चाहता हूं, क्योंकि मैं ईएफ 4 कोड-प्रथम करने के बारे में/बहुत/विवादित हूं। – anon
यह एक बहुत अच्छी सूची है। पिछले कुछ महीनों में मैंने जो सभी वैध अंक अनुभव किए हैं। मैं ईएफ 4 की 'गीग्राफी' डेटा प्रकार समर्थन (एसक्यूएल सर्वर) की कमी, और संग्रहीत प्रोसेस में उपयोगकर्ता परिभाषित तालिका प्रकार (SQL सर्वर) को पास करने में असमर्थता में भी फेंक दूंगा। पूर्व का मुकाबला करने के लिए, मुझे बाद में मुकाबला करने के लिए ट्रिगर्स का उपयोग करना पड़ा, जिसे मैं क्लासिक ADO.NET पर डिग्रेड किया गया था। – RPM1984