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

<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.

我想概括查询的结果,以处理任意数量的列/列名,而不映射到某些类的特定属性。

我意识到此处的示例将失败,因为结果集可能具有重复(或空)列名称。我想过一个结果类,它包含一个索引的键值对列表。这里的关键是在某处保留列信息。

有帮助吗?

解决方案

您可以通过在resultMap配置中将class属性设置为HashTable来完成此操作。有关详细信息,请此处

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top