2008-09-22 6 views
0

Учитывая простое утверждение, например:Mapping в словарь с 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

Вы можете сделать это, установив атрибут класса в HashTable в конфигурации resultMap. Более подробная информация доступна here.