按照小巧玲瓏的文檔,可以使用下面的代碼從短小精悍得到的動態列表回:小巧玲瓏的結果(小巧玲瓏行)用括號標記
var rows = connection.Query("select 1 A, 2 B union all select 3, 4");
((int)rows[0].A)
.IsEqualTo(1);
((int)rows[0].B)
.IsEqualTo(2);
((int)rows[1].A)
.IsEqualTo(3);
((int)rows[1].B)
.IsEqualTo(4);
是什麼,不過使用的動態,如果你必須知道字段的字段名稱和數據類型。 如果我有:
var result = Db.Query("Select * from Data.Tables");
我希望能夠做到以下幾點: 獲取字段名稱的列表和數據類型返回。
遍歷它使用的字段名稱和通過以下方式取回數據:
result.Fields
["Id", "Description"]
result[0].values
[1, "This is the description"]
這將讓我獲得
result[0].["Id"].Value
,這將給成果1和具有類型如的Int 32
result[0].["Id"].Type --- what datattype is the value returned
result[0].["Description"]
這將給出結果「這是描述」並且將是字符串類型。
我看到有一個結果[0] .table,它有一個帶有字段名數組的dapperrow對象,並且還有一個result.values,它是一個包含值的對象[2],但它可以不被訪問。如果我將鑽表添加到鑽出的列名稱中,我可以獲得該ID。自動創建的表是:
(new System.Collections.Generic.Mscorlib_CollectionDebugView<Dapper.SqlMapper.DapperRow>(result as System.Collections.Generic.List<Dapper.SqlMapper.DapperRow>)).Items[0].table.FieldNames[0] "Id" string
所以我應該能夠得到結果[0] .Items [0] .table.FieldNames [0],並獲得 「身份證」 了。
請協助。
我該怎麼做。他們的問題是我事先並不知道關鍵是什麼,所以我不能遍歷行並轉換字段名稱(例如Id,Description作爲字典鍵,因爲我只能使用結果[0] .Id或結果[0]。描述 – Andy 2014-11-15 05:34:30
結果中有鍵和值,但它在一個名爲DapperTable的私人密封類中,與值 – Andy 2014-11-15 05:37:23
@Andy相同我將編輯以說明 – 2014-11-15 10:23:39