2013-10-01 11 views
5

ja wykonujący procedurę przechowywaną z Dapper tak:Get nazwy pól z procedura składowana z Dapper

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

mogę wyliczyć wyników oraz listy wartości. To, co muszę zrobić, to również wyliczyć nazwy pól, które powracają ze sproc. Nie znam nazw tych pól w czasie projektowania.

Z góry dziękuję.

Odpowiedz

9

Przy użyciu dynamic API (w Query(...) zamiast Query<T>(...), Według przykładu), przy czym każdy rząd realizuje również IDictionary<string,object>. Więc w zasadzie:

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

Fantastycznie, dziękuję bardzo. – DavidGouge

0

Jeśli zapytanie może nie zwraca wierszy, Query().First().Keys nie działa. W takim przypadku możesz użyć ExecuteReader().GetName(i).

Powiązane problemy