LINQ

2010-12-13 11 views
19

के साथ डेटासेट से एकल कॉलम का चयन करें बस इस LINQ सामान के आस-पास अपना सिर प्राप्त करें और ऐसा लगता है कि मैं पहली बाधा पर फंस गया हूं।LINQ

मैं जैसे एक datatable है:

OrderNo  LetterGroup Filepath 
----------- ----------- -------------------------------------------------- 
0   0   Letters/SampleImage.jpg 
0   0   Letters/UKPC7_0.jpg 
0   0   Letters/UKPC8_0.jpg 

क्या मैं जरूरत है एक स्ट्रिंग सरणी में FilePath स्तंभ से filepaths के सभी प्राप्त करने के लिए है। मैंने सोचा कि LINQ इस के लिए सही होगा (क्या मैं सही हूँ?), लेकिन सही क्वेरी बनाने के लिए प्रतीत नहीं होता है।

क्या कोई भी कुछ कोड नमूने प्रदान कर सकता है जो मुझे सही दिशा में इंगित करेंगे? मैंने चारों ओर खोज की है - लेकिन कहीं भी नहीं लग रहा है।

उत्तर

30

वहाँ विस्तार तरीकों जो डेटा के साथ काम करना बहुत आसान सेट कर रहे हैं:

using System.Data.Linq; 

var filePaths = 
    from row in dataTable.AsEnumerable() 
    select row.Field<string>("Filepath"); 

var filePathsArray = filePaths.ToArray(); 

तुम भी विधि वाक्य विन्यास का उपयोग कर सकते हैं एक बयान में यह डाल करने के लिए:

var filePaths = dataTable 
    .AsEnumerable() 
    .Select(row => row.Field<string>("Filepath")) 
    .ToArray(); 
11
string[] filePaths = (from DataRow row in yourDataTable.Rows 
        select row["Filepath"].ToString()).ToArray(); 
+0

यह LINQ का उपयोग नहीं कर रहा है। – poindexter12

+2

@ poindexter12 - क्या? निश्चित रूप से मुझे LINQ की तरह दिखता है। – jfar

+0

@jfar: यह तकनीकी रूप से LINQ वाक्यविन्यास है, इसलिए मैंने अपना नीचे वोट हटा दिया। हालांकि, भावना में सवाल यह है कि, मुझे लगता है कि थोड़ा और समझाया जा सकता है। – poindexter12

2

आप तो LINQ का उपयोग सभी तरह से करना चाहते हैं, अपना डेटाबेस सेट अप करें और एक संदर्भ ऑब्जेक्ट बनाएं। तो फिर तुम इस तरह कुछ करने के लिए सक्षम होना चाहिए: के लिए पंक्ति आदेश है, जो मैं आदेश के पहले कॉलम नाम से लगता है कि नाम है

var filepaths = from order in _context.Orders 
       select order.Filepath; 

यह अपनी मेज संभालने है।

var results = from order in _context.Orders 
       select new 
       { 
        order.OrderNo, 
        order.Filepath 
       } 

यह आपको एक नई अज्ञात प्रकार है कि उन दोनों निहित देना होगा: आप बाद में का उपयोग कर पता करने के लिए जहां फ़ाइल पथ तुम इतनी तरह कुछ कर सकता है से आया है के लिए भी आदेश संख्या का एक सेट देखना चाहता है तो गुणों के रूप में मूल्य।

संबंधित मुद्दे