使用iBATIS映射到字典

时间:2008-09-22 18:09:43

标签: .net ibatis datamapper

给出一个简单的陈述,例如:

<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 个答案:

答案 0 :(得分:1)

您可以通过在resultMap配置中将class属性设置为HashTable来完成此操作。更多详细信息here