2013-10-01 9 views
5

वाला संगृहीत प्रक्रिया से फ़ील्ड नाम जाओ मैं इस तरह साफ-सुथरी के साथ एक संग्रहीत प्रक्रिया को क्रियान्वित कर रहा हूँ:डैप्पर

var sprocResult = conn.Query("TestSproc", new {clientID = 2}, commandType: CommandType.StoredProcedure).ToList(); 

मैं परिणाम की गणना और मूल्यों सूचीबद्ध कर सकते हैं। हालांकि मुझे ऐसा करने में सक्षम होने की आवश्यकता है जो स्पोक से वापस आने वाले फील्ड नामों का भी आकलन करता है। मैं डिजाइन समय पर इन फील्ड नामों को नहीं जानूंगा।

अग्रिम धन्यवाद।

उत्तर

9

dynamic एपीआई (Query<T>(...) के बजाय Query(...), अपने उदाहरण के अनुसार) का उपयोग करते समय, प्रत्येक पंक्ति भी IDictionary<string,object> लागू करता है। तो मूल रूप से:

foreach(IDictionary<string,object> row in sprocResult) 
{ 
    var colNames = row.Keys; 
    //... 
} 
+0

शानदार, बहुत बहुत धन्यवाद। – DavidGouge

0

क्वेरी कोई भी पंक्ति वापस आ सकते हैं, तो Query().First().Keys काम नहीं करता। इस मामले में, आप ExecuteReader().GetName(i) का उपयोग कर सकते हैं।

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