0

次のような単純なステートメントが与えられた場合:

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

一部のクラスの特定のプロパティにマッピングせずに、クエリの結果を一般化して、任意の数の列/列名を処理したいと考えています。

結果セットに重複した (または null) 列名が含まれている可能性があるため、ここの例は失敗することを認識しています。キーと値のペアのインデックス付きリストを保持する結果クラスについて考えました。ここで重要なことは、列情報をどこかに保持することです。

4

1 に答える 1

1

これを行うには、resultMap構成でクラス属性をHashTableに設定します。詳細については、こちらをご覧ください

于 2008-09-22T18:23:35.427 に答える