2008-09-22 92 views
0

字典給出一個簡單的語句,如:映射到與iBATIS的

<statement id="SelectProducts" resultMap="???"> 
    SELECT * FROM Products 
</statement> 

是否有可能得到字典對象的列表,其中鍵是列名? 即。

var list = Mapper.QueryForList<IDictionary<string,string>>("SelectProducts", null); 

IDictionary<string, string> dict = list[0]; 
// dict["id"] == "1" 
// dict["name"] == "Some Product Name" 
// dict["price"] == "$9.99" 
// etc. 

我想概括一個查詢的結果來處理任何數量的列/列名稱,而無需映射到某些類的特定屬性。

我意識到這裏的例子會失敗,因爲結果集可能有重複的(或空)列名稱。我想過一個包含鍵值對的索引列表的結果類。關鍵是保留列信息。

回答

1

您可以通過在resultMap配置中將類屬性設置爲HashTable來完成此操作。更多詳細信息可用here