AsEnumerable
के माध्यम से शायद डेटाबेस के बजाय स्थानीय रूप से पार्सिंग करना उचित है :
var query = db.tb1.Select(tb => tb.dt)
.AsEnumerable() // Do the rest of the processing locally
.Select(x => DateTime.ParseExact(x, "yyyyMMdd",
CultureInfo.InvariantCulture));
प्रारंभिक चयन यह सुनिश्चित करने के लिए है कि संपूर्ण इकाई के बजाय केवल प्रासंगिक कॉलम प्राप्त किया जाता है (केवल इसके अधिकांश को त्यागने के लिए)। मैंने एक अनाम प्रकार का उपयोग करने से भी परहेज किया है क्योंकि ऐसा लगता है कि यहां इसका कोई मतलब नहीं है।
ध्यान दें कि मैंने अपरिवर्तनीय संस्कृति को कैसे निर्दिष्ट किया है - आप लगभग निश्चित रूप से नहीं वर्तमान संस्कृति का उपयोग करना चाहते हैं। और मैंने पार्सिंग के लिए उपयोग किए गए पैटर्न को बदल दिया है, क्योंकि यह आपके स्रोत . जैसा लगता है डेटा yyyyMMdd
. में है प्रारूप।
बेशक, यदि संभव हो तो आपको टेक्स्ट के बजाय दिनांक-आधारित कॉलम में दिनांक मानों को संग्रहीत करने के लिए डेटाबेस स्कीमा को बदलना चाहिए।