Вопрос

Учитывая простое утверждение, например:

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

Я хотел бы обобщить результат запроса для обработки любого количества имен столбцов/столбцов без сопоставления с конкретными свойствами какого-либо класса.

Я понимаю, что приведенный здесь пример не удастся, поскольку набор результатов может иметь повторяющиеся (или нулевые) имена столбцов.Я подумал о классе результатов, который содержит индексированный список пар ключ-значение.Ключевым моментом здесь является сохранение где-нибудь информации о столбце.

Это было полезно?

Решение

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top