2016-03-21 20 views
4

Dapperは、動的オブジェクトのリストにデータをマッピングするためのさまざまな方法を提供します。しかし、場合によっては、辞書のリストにデータを読みたいと思います。 SQLがどのように見えるかもしれDapper:クエリから辞書のリストを読み込むには?

:tb_Userが外部に変化しているよう

"SELECT * FROM tb_User" 

、私は結果に戻ります何列か分かりません。だから私はこのようないくつかのコードを書くことができます。

var listOfDict = conn.QueryAsDictionary(sql); 
foreach (var dict in listOfDict) { 
    if (dict.Contains("anyColumn")) { 
     // do right thing... 
    } 
} 

は、この変換を行うにはDapperのための任意の組み込みの方法はありますか?あなたがたIDictionaryとして各行をキャストすることができ

+0

をこのことをよく理解するために、あなたはキー= COLUMNNAME、値= columnValue 'IDictionaryを<,>'、などの個々の行をしたいですか? –

+0

はい正確に! – ineztia

答えて

7

var row = (IDictionary<string, object>)conn.Query("select foo = 1, bar = 'bar'").First(); 

    Assert.That(row["foo"], Is.EqualTo(1)); 
    Assert.That(row["bar"], Is.EqualTo("bar")); 
+1

'IDictionary'に' dynamic'をキャストすることについてのドキュメントを見つけようとしましたが、何も見つかりませんでした。誰にも参照がありますか? – Mugen

関連する問題