समस्या का दायरा: मैं Enterprise Library डेटा एक्सेस ब्लॉक की गति और विश्वसनीयता की किसी भी व्यापार बंद के बिना EF4.1 का उपयोग करना चाहता हूं जो मुझे पता है और भरोसा है।एंटीटी फ्रेमवर्क 4.1 बनाम एंटरप्राइज़ डेटा एप्लिकेशन ब्लॉक अधिकतम प्रदर्शन
ईएफ प्रदर्शन ट्यूनिंग के बारे में बहुत सारे स्टैक ओवरफ्लो लिंक और ब्लॉग्स के लिए धन्यवाद, मैं ईएफ 4.1 का उपयोग करने के लिए कई लोगों के बीच इस तरह से पोस्ट कर रहा हूं, जो एडीओ/एंटरप्राइज़ लिब डेटा एक्सेस ब्लॉक (एसक्लडाटा रीडर) के प्रदर्शन से मेल खाता है।
परियोजना: 1. संस्थाओं/गतिशील एसक्यूएल के लिए कोई linq। मुझे linq पसंद है, मैं बस वस्तुओं के खिलाफ इसका उपयोग करने की कोशिश करो। 2. 100% संग्रहीत प्रक्रियाएं और कोई ट्रैकिंग नहीं, कोई विलय नहीं, और सबसे महत्वपूर्ण बात, कभी भी कॉल नहीं करें। सेव चेंज()। मैं बस डालने/अद्यतन/डिस्क DbContext.StoredProcName (पैरा) हटा दें। इस बिंदु पर हमने ईएफ के कई तेजी से देव तत्वों को समाप्त कर दिया है, लेकिन जिस तरह से यह आपके संग्रहित प्रो के लिए एक जटिल प्रकार बनाता है, वह मेरे लिए पर्याप्त है।
GetString और इसी तरह के तरीकों एक AbstractMapper कि सिर्फ उम्मीद प्रकार के माध्यम से चला जाता है और प्रकार में DataReader डाले हैं।
तो यह जहाँ तक मेरा सवाल है हरा निशान है। मुझे धीमा होने के बारे में कुछ पता होना मुश्किल होगा।
धीमी है कि !!! बहुत धीमा!
कि इसे और अधिक की तरह है !! Performance Pie मेरे परिणामों के आधार पर प्रदर्शन पाई को ट्रैकिंग ओवरहेड को 1% से अधिक बढ़ाया जाना चाहिए, मैंने विचारों को संकलित करने की कोशिश की और मुझे कोई ट्रैकिंग के रूप में कोई भी बढ़ावा नहीं मिला! क्यूं कर?? शायद कोई उस पर झुक सकता है।
तो, यह एंटरप्राइज़ लिब की तुलना में वास्तव में उचित नहीं है, लेकिन मैं मेटा डेटा लोड करने के लिए डेटाबेस में एक अनियमित कॉल कर रहा हूं जिसे मैं समझता हूं कि प्रति आईआईएस ऐप पूल में एक बार लोड किया जाता है। अनिवार्य रूप से एक बार अपने ऐप के जीवन में।
मैं एफई ऑटो संग्रहीत प्रक्रिया पीढ़ी के साथ इस तरह से उपयोग कर रहा हूँ और मैं संस्थाओं के लिए ऊपर मैप करने के लिए स्वत: आयात करने के लिए Edmx को Linq इस्तेमाल किया इन सभी edmx समारोह नोड्स। फिर मैं ऑटो इकाई प्रत्येक इकाई और एक इंजन के लिए एक भंडार।
चूंकि मैंने कभी भी सहेजेंChanges को कॉल नहीं किया है, इसलिए मैं डिजाइनर में संग्रहीत प्रोसेस में मानचित्र करने के लिए समय निकालने से परेशान नहीं हूं। इसमें बहुत लंबा समय लगता है और इसे तोड़ना आसान है और इसे नहीं पता। तो मैं सिर्फ संदर्भ से procs बुलाओ।
इससे पहले कि मैं वास्तव में अपने नए मिशन में महत्वपूर्ण चिकित्सा उपकरण वितरण वेब एप्लिकेशन में इसे लागू करने से पहले मैं किसी भी अवलोकन और आलोचनाओं की सराहना करता हूं।
धन्यवाद!
अब मैं एक दो महीने के लिए इस का उपयोग करते हुए किया गया है यह बहुत अच्छा काम कर रहा है, लेकिन एक बात के लिए है। ईएफ स्रोत नियंत्रण नहीं है या दोस्ताना विलय नहीं है। यदि कोई शरीर ईएफ के बारे में बाड़ पर है तो मुझे विश्वास है कि प्रदर्शन मुख्य मुद्दा नहीं है .. ईएफ पूरे .edmx को अद्यतन करता है और आरेखण xy स्थानों को .edmx में संग्रहीत करता है जिससे फ़ाइल को मर्ज करने में बहुत मुश्किल होती है .. मेरे पास भी है दो अलग-अलग देवताओं के अलावा एक ही अपरिवर्तित एक्सएमएल नोड्स हजारों लाइनों को देखा। कोड स्मिथ ने प्लिनको और एमएस के साथ इस समस्या को हल किया। – TheDev6