मैं Dictionary<string, object>
के IEnumerable<>
पर डेटाटेबल को कनवर्ट करना चाहता हूं। मैं निम्नलिखित LINQ क्वेरी,मैं डेटाटेबल को एक आईनेमरेबल <शब्दकोश <स्ट्रिंग, ऑब्जेक्ट >> में कैसे परिवर्तित कर सकता हूं?
from DataRow row in ds.Tables[0].AsEnumerable()
let rowDictionary = new Dictionary<string, object>()
from DataColumn column in row.Table.Columns.Cast<DataColumn>()
select rowDictionary.Add(column.ColumnName, row[column]).ToArray();
कोशिश की, लेकिन मैं निम्नलिखित त्रुटि मिलती है:
error CS1943: An expression of type
'System.Collections.Generic.IEnumerable<System.Data.DataColumn>' is not
allowed in a subsequent from clause in a query expression with source type
'System.Data.EnumerableRowCollection<AnonymousType#1>'. Type inference
failed in the call to 'SelectMany'.
मैं जानता हूँ कि मैं कर सकते हैं एक पाश के साथ इस जानवर बल है, लेकिन यह कुछ मैं करने के लिए सक्षम होना चाहिए की तरह लगता है LINQ में करो। किसी भी सहायता के लिए अग्रिम रूप से धन्यवाद!
यही काम किया, लेकिन क्यों क्वेरी सिंटैक्स काम नहीं किया? – GuyBehindtheGuy
मुझे आपके जैसा ही त्रुटि नहीं मिली, लेकिन चयन करने के लिए कोई ऑब्जेक्ट होना चाहिए, न कि कार्रवाई (जब तक कि क्रिया ऑब्जेक्ट न करे)। शब्दकोश। रिटर्न * शून्य * जोड़ें, क्योंकि यह एक चुनिंदा तर्क नहीं हो सकता है। – Elisha
एक नई ऑब्जेक्ट में 'कॉलम। चयन करें' का उपयोग क्यों करें, और उसके बाद उस 'ऑब्जेक्ट' पर '.oDictionary'' के बजाय सीधे 'कॉल करें' का उपयोग क्यों करें? – palswim