उपयोगकर्ता के रूप में, आपको आमतौर पर परवाह नहीं करना चाहिए, यह वास्तव में डेटा स्रोत के कार्यान्वयनकर्ता के बारे में है। यदि डेटा प्रदाता केवल IENumerable लागू करता है, तो आप मूल रूप से निष्पादन के लिए LINQ कर रहे हैं, यानी यह संग्रह पर स्मृति संचालन में है। अभिव्यक्ति निष्पादित होने के बाद IQueryable अभिव्यक्ति के पेड़ को निष्पादन के वैकल्पिक परिणामों में अनुवाद करने की क्षमता प्रदान करता है (आमतौर पर गणना द्वारा), जो Linq2Sql, Linq2Xml और Linq2Entities करता है।
केवल समय मैं अंत उपयोगकर्ता देखभाल देख सकते हैं, अगर वे, अभिव्यक्ति पेड़ कि निष्पादित किया जाएगा का निरीक्षण करने के बाद से IQueryable अभिव्यक्ति को उजागर करता है इच्छा है। एक अन्य उपयोग प्रदाता का निरीक्षण कर सकता है। लेकिन उन दोनों परिदृश्यों को वास्तव में अन्य क्वेरी प्रदाताओं के कार्यान्वयनकर्ताओं के लिए आरक्षित किया जाना चाहिए और अभिव्यक्ति को बदलना चाहते हैं। लिंक का मुद्दा यह है कि आपको अभिव्यक्ति निष्पादन के कार्यान्वयन के बारे में परवाह नहीं करना चाहिए।
स्रोत
2008-11-03 17:30:00