1. ホーム
  2. c#

Dapper Dot Netを使用してデータベースの結果からDictionaryオブジェクトにマッピングする方法は?

2023-10-09 13:55:10

質問

次のような簡単なクエリを持っている場合。

string sql = "SELECT UniqueString, ID  FROM Table";

といった辞書オブジェクトにマッピングしたい。

Dictionary<string, int> myDictionary = new Dictionary<string, int>();      

Dapperでこれを行うにはどうしたらよいでしょうか?

のようなものだと思いますが。

myDictionary = conn.Query<string, int>(sql, new {  }).ToDictionary();

しかし、適切な構文がわからない。

どのように解決するのですか?

様々な方法が紹介されていますが、個人的には汎用性のないapiを使うのがいいと思います。

var dict = conn.Query(sql, args).ToDictionary(
    row => (string)row.UniqueString,
    row => (int)row.Id);