मैं एक LINQ क्वेरी तैयार करने के लिए एक सूची का एक sublist चयन करने के लिए जहां यह मिलता है कोशिश कर रहा हूँ एक जहां हालत इतनी तरह:LINQ विशिष्ट प्रकार की सूची को Enumerable कास्ट
List<Entities.Base> bases = this.GetAllBases();
List<Entities.Base> thebases = from aBase in bases
where aBase.OfficeCD == officeCD
select aBase;
जहां बेस सिर्फ एक इकाई वर्ग है:
public string BaseCD { get; set; }
public string BaseName { get; set; }
public string OfficeCD { get; set; }
public DateTime EffectiveDate { get; set; }
public DateTime ExpirationDate { get; set; }
मैं एक त्रुटि "implictly System.Collections.Generic.List
के प्रकार System.Collections.Generic.IEnumerable कनवर्ट नहीं कर सकता हो रही है तो मैं कास्ट ऑपरेटर लागू करने की कोशिश की लेकिन वह विफल रहता है। अब मैं देखता हूं कि मैं तत्व के प्रकार को बदलने की कोशिश नहीं कर रहा हूं। कैसे मैं इस मुद्दे को हल कर सकता हूँ? धन्यवाद!
धन्यवाद! मैंने बस कुछ सोचा - निष्पादित निष्पादन। ये प्रश्न तब तक निष्पादित नहीं होंगे जब तक कि उनका गणना नहीं किया जाता है। मैं इन्हें डेटालेयर में बना रहा हूं जो प्रश्नों को वापस कर देता है। मान लीजिए कि मैं अपना पहला चुनता हूं और हूं: सार्वजनिक सूची GetBasesForFieldOfficeCD (स्ट्रिंग ऑफिससीडी) {सूची bases = this.GetAllBases(); सूची thebases = (आधार पर एक बेस से जहां aBase.OfficeCD == officeCD एबेस का चयन करें) .सूची(); वापस लौटें; } -क्या मुझे वापस आने से पहले प्रश्नों को गणना/निष्पादित करने की आवश्यकता है? –
'ToList()' आपके लिए गणना करेगा। अंतिम परिणाम: एक 'सामान्य' डेटा-संरचना, एक क्वेरी नहीं। असल में, एक सूची याद नहीं है कि यह कैसे बनाया गया था। दूसरी ओर, आप * पसंद * कर सकते हैं कि आपकी 'GetBasesForFieldOfficeCD' विधि बदले में एक स्थगित-निष्पादित क्वेरी लौटाती है। इस मामले में, वापसी प्रकार 'Inumerable' बनाएं और 'toList() 'पर कॉल हटा दें। –
Ani