2009-07-20 13 views
5

हमने कई परियोजनाओं के साथ 2 परियोजनाओं पर इकाई फ्रेमवर्क का उपयोग किया है।एंटिटी फ्रेमवर्क के साथ आपके पास क्या समस्याएं हैं?

हमारा प्रयोग मुख्य रूप से सकारात्मक है। हमारे पास बड़ी उत्पादकता लाभ है, एंटरप्राइज़ लाइब्रेरी और संग्रहीत प्रक्रियाओं का उपयोग करने के साथ तुलना करें।

हालांकि, जब मैं stackoverflow पर एफई उपयोग करने का सुझाव, मैं अक्सर नकारात्मक टिप्पणी मिलता है।

नकारात्मक पक्ष पर हमने पाया है विशेष कार्यों के लिए एक खड़ी सीखने की अवस्था नहीं है।

अंत में, सवाल का: क्या समस्या है लोगों एफई के साथ पड़ा है, इसलिए वे अन्य ORMS पसंद करते हैं?

+0

अच्छा सवाल; यह उपयोगी होगा अगर लोगों ने ईएफ के संस्करण को नोट किया जो उन्होंने अपने उत्तरों (v1 या v4 बीटा) में उपयोग किया था। धन्यवाद! – TrueWill

उत्तर

4

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

+0

आप जटिल प्रश्नों को प्रीकंपाइल कर सकते हैं। CompiledQuery पर एक नज़र डालें। –

+0

हाँ, मुझे पता है। यदि आपको किसी क्वेरी का पुन: उपयोग करने की आवश्यकता है, तो यह वास्तव में सार्थक है, लेकिन यदि आप केवल एक बार क्वेरी का उपयोग करते हैं तो तेज़ नहीं। –

4

मैंने हाल ही में ईएफ का उपयोग किया और इसके साथ अपेक्षाकृत अच्छा अनुभव था। मुझे भी ईएफ के आस-पास बहुत नकारात्मक प्रतिक्रिया दिखाई देती है, जो मुझे लगता है कि यह सब कुछ प्रदान करने पर दुर्भाग्यपूर्ण है।

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

समस्या के समाधान के लिए, मैं एक आलसी लोडिंग/मांग पर मोड है, जो सर्वर से अधिक प्रश्नों के परिणामस्वरूप, लेकिन प्रदर्शन में एक महत्वपूर्ण बढ़ावा स्वरूप में वापस लौटा। यह वह नहीं था जिसे मैंने शुरू में उम्मीद की थी। मेरा टेक-दूर, जो सभी डेटा एक्सेस कार्यान्वयन के लिए आईएमएचओ सच है, यह है कि मुझे डेटा एक्सेस का परीक्षण करने की ज़रूरत है। यह है कि क्या मैं एक ORM या SQL procs या पैरामिट्रीकृत एसक्यूएल का उपयोग बिना सत्य है, आदि

1

मैं इकाई की रूपरेखा भी इस्तेमाल करते हैं और निम्नलिखित नुकसान पाया है:

  1. मैं Oracle के साथ यह है कि काम नहीं कर सकता मेरे लिए वास्तव में जरूरी है।
  2. इकाई फ्रेमवर्क के लिए मॉडल डिजाइनर। डेटाबेस स्टोरेज भाग से अद्यतन मॉडल के दौरान भी पुन: उत्पन्न किया जाता है। यह बहुत असहज है।
+1

हाय। क्या आपने कभी ओरेकल डेटा प्रदाता (http://www.devart.com/dotconnect/oracle/) के लिए एंटिटी डेवलपर टूल (http://www.devart.com/entitydeveloper/) और Devart dotConnect को आजमाया था? प्रदाता आपको ओरेकल सर्वर से कनेक्ट करने की अनुमति देता है। मॉडल निर्माण के दौरान इकाई डेवलपर की मैपिंग सिंक्रनाइज़ेशन सुविधा का उपयोग करके दूसरी समस्या का निर्णय लिया जाता है। यह विकल्प आपको ALTER कथन के साथ केवल डेटाबेस ऑब्जेक्ट्स को बदलने में मदद करता है। इस मामले में आपका कस्टम मैपिंग सहेजा जाएगा। – JackD

0

एंटीटी फ्रेमवर्क में ट्रिगर्स की बजाय समर्थन नहीं है।

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