2008-09-22 60 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