this प्रश्न पढ़ने के बाद, मुझे कुछ चीजों को साफ़ करने की आवश्यकता है।IENumerable <T> और IQueryable <T> स्पष्टीकरण?
IQueryable<Customer> custs = from c in db.Customers
where c.City == "<City>"
select c;
IEnumerable<Customer> custs = from c in db.Customers
where c.City == "<City>"
select c;
सवाल:
1) यह ठीक है कि कहने के लिए है: पहली क्वेरी में SQLServer जहां खंड सहित पूरे आपरेशन चल रहा है और केवल प्रासंगिक पंक्तियों लौटा रहा है - जबकि दूसरा एक करता है SELECT *
... और सभी पंक्तियों में सी # और THEN फ़िल्टर देता है?
2) अगर मेरे पास संग्रह संग्रह है - तो स्मृति में। (var lstMyPerson = new List<MyPerson>()
)
IQueryable<MyPerson> lst = from c in lstMyPerson
where c.City == "<City>"
select c;
बनाम
IEnumerable<MyPerson> custs = from c in lstMyPerson
where c.City == "<City>"
select c;
क्या निष्पादन में अंतर अब क्या होगा?
इस प्रासंगिक विषय पर एक नज़र डालें: http://stackoverflow.com/questions/252785/what-is-the-difference-between-iqueryablet-and-ienumerablet। और, आप # 1 में अपनी धारणा में सही हैं। # 2 के बारे में 100% निश्चित नहीं है इसलिए मैं इसे दूसरे पर छोड़ दूंगा। – blizz
@blizz मैं पहले से ही उस पढ़ें। सभी उत्तर एक पुस्तक पीओवी से हैं। मेरे सवाल का जवाब देने में कुछ भी नहीं ....: (... बीमार ** खुश हो ** देखने के लिए जो लाइन तो मेरे सवाल का –