2011-04-25 22 views
9

मान लीजिए कि मेरा डेटाटेबल डेटा से भरा हुआ है। डेटा भरने के बाद हम फिर से डेटा निकालने के लिए linq के साथ डेटाटेबल पर कुछ शर्त डाल सकते हैं।क्या हम LINQ के साथ डेटाटेबल फ़िल्टर कर सकते हैं?

मान लीजिए कि मेरे डेटाटेबल में 10 कर्मचारी रिकॉर्ड हैं। तो क्या हम केवल उन कर्मचारियों को निकाल सकते हैं जिनके वेतन linq क्वेरी के साथ 5000 से अधिक है। मुझे पता है कि हम इसे datatable.select() प्राप्त कर सकते हैं। आप इसे linq के साथ कैसे प्राप्त कर सकते हैं?

उत्तर

12

आप पंक्तियों की फ़िल्टर सेट प्राप्त कर सकते हैं, हाँ:

var query = table.AsEnumerable() 
       .Where(row => row.Field<decimal>("salary") > 5000m); 

यह DataTableExtensions और DataRowExtensions में AsEnumerable और Field विस्तार तरीकों क्रमशः उपयोग करता है।

2

इस प्रयास करें:

   var query = (from t0 in dtDataTable.AsEnumerable() 
       where t0.Field<string>("FieldName") == Filter 

       select new 
       { 
        FieldName = t0.Field<string>("FieldName"), 
        FieldName2 = t0.Field<string>("FieldName2"), 
       }); 
संबंधित मुद्दे