मैं ओपी हताशा को समझता हूं, वर्चुअल का यह उपयोग टेम्पर्ड एब्स्ट्रैक्शन के लिए नहीं है जो कि डिफेक्टो वर्चुअल मॉडिफायर के लिए प्रभावी है।
यदि कोई अभी भी इससे जूझ रहा है, तो मैं अपना दृष्टिकोण प्रस्तुत करूंगा, क्योंकि मैं समाधानों को सरल रखने की कोशिश करता हूं और शब्दजाल को न्यूनतम:
एक साधारण टुकड़े में एंटिटी फ्रेमवर्क आलसी लोडिंग का उपयोग करता है, जो कि भविष्य के निष्पादन के लिए किसी चीज को प्रस्तुत करने के बराबर है। यह 'वर्चुअल' संशोधक में फिट बैठता है, लेकिन इसमें और भी बहुत कुछ है।
एंटिटी फ्रेमवर्क में, वर्चुअल नेविगेशन प्रॉपर्टी का उपयोग करने से आप इसे SQL में एक अशक्त विदेशी कुंजी के बराबर बता सकते हैं। क्वेरी करते समय आप हर कुंजी तालिका में उत्सुकता से शामिल होने के लिए नहीं हैं, लेकिन जब आपको जानकारी की आवश्यकता होती है - तो यह मांग-संचालित हो जाता है।
मैंने भी अशक्त का उल्लेख किया क्योंकि कई नेविगेशन गुण पहले से प्रासंगिक नहीं हैं। यानी एक ग्राहक / आदेश परिदृश्य में, आपको उस समय तक इंतजार करने की आवश्यकता नहीं है जब तक कि ग्राहक बनाने के लिए एक आदेश संसाधित नहीं किया जाता है। आप कर सकते हैं, लेकिन यदि आपके पास इसे प्राप्त करने के लिए एक बहु-चरण प्रक्रिया थी, तो आपको ग्राहक डेटा को बाद में पूरा करने या भविष्य के आदेशों पर तैनाती के लिए जारी रखने की आवश्यकता हो सकती है । यदि सभी नौसेना संपत्तियों को लागू किया गया था, तो आपको प्रत्येक विदेशी कुंजी और रिलेशनल फ़ील्ड को सहेजना होगा। यह वास्तव में डेटा को स्मृति में वापस सेट करता है, जो दृढ़ता की भूमिका को पराजित करता है।
जब तक यह वास्तविक समय में वास्तविक निष्पादन में गूढ़ लग सकता है, मैंने पाया है कि उपयोग करने के लिए अंगूठे का सबसे अच्छा नियम होगा: यदि आप डेटा आउटपुट कर रहे हैं (एक दृश्य मॉडल या सीरियल मॉडल में पढ़ना) और संदर्भ से पहले मूल्यों की आवश्यकता है, नहीं आभासी का उपयोग करें; यदि आपका दायरा डेटा एकत्र कर रहा है जो अपूर्ण हो सकता है या खोज के लिए प्रत्येक खोज पैरामीटर को पूरा करने की आवश्यकता नहीं है, तो कोड को संदर्भ का अच्छा उपयोग करना होगा, अशक्त मूल्य गुणों का उपयोग करने के समान है? लंबा?। इसके अलावा, अपने व्यापार तर्क को अपने डेटा संग्रह से अलग करना जब तक कि इसे इंजेक्ट करने की आवश्यकता न हो, किसी वस्तु को त्वरित करने और इसे शून्य पर शुरू करने के समान कई प्रदर्शन लाभ हैं। एंटिटी फ्रेमवर्क बहुत अधिक प्रतिबिंब और गतिकी का उपयोग करता है, जो प्रदर्शन को नीचा दिखा सकता है, और एक लचीला मॉडल की आवश्यकता है जो मांग को माप सकता है प्रदर्शन के प्रबंधन के लिए महत्वपूर्ण है।
मेरे लिए, कि हमेशा अतिभारित टेक शब्दजाल जैसे कि परदे के पीछे, प्रतिनिधियों, हैंडलर और इस तरह के उपयोग से अधिक समझ में आता है। एक बार जब आप अपने तीसरे या चौथे प्रोग्रामिंग लैंग को मारते हैं, तो यह इनसे खिलवाड़ कर सकता है।