Dot-Net
使用 Dapper 從儲存過程中獲取欄位名稱
我正在使用 Dapper 執行一個儲存過程,如下所示:
var sprocResult = conn.Query("TestSproc", new {clientID = 2}, commandType: CommandType.StoredProcedure).ToList();我可以列舉結果並列出值。不過,我需要做的是列舉從儲存過程返回的欄位名稱。在設計時我不會知道這些欄位名稱。
提前致謝。
使用
dynamicAPI 時(根據您的範例,Query(...)代替Query<T>(...)),每一行還實現IDictionary<string,object>. 所以基本上:foreach(IDictionary<string,object> row in sprocResult) { var colNames = row.Keys; //... }
如果查詢可能不返回任何行,則
Query().First().Keys不起作用。在這種情況下,您可以使用ExecuteReader().GetName(i).