如果我有一个简单的查询,例如:

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

并且我希望将其映射到字典对象,例如:

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

我要怎么和达普一起做这件事?

我假设是这样的:

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

但是找不出正确的语法.

推荐答案

已经展示了多种方法;就我个人而言,我只使用非泛型API:

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

Asp.net相关问答推荐

ASP.NET多行查询文本框中的多个名称并将结果添加到单个网格视图

Razor 页面客户端站点验证不起作用

Web API 自托管 - 在所有网络接口上绑定

如何在运行时判断动态数据类型的类型?

AppendHeader 是否与 AddHeader 完全相同?

在 DataTextField 中组合两个字段.这可能吗?

未知的网络方法.参数名称:methodName

模型项的类型为 CookMeIndexViewModel,但需要类型为 IEnumerable 的模型项

HttpContext.Cache 过期

我应该使用用户名还是用户 ID 来引用 ASP.NET 中经过身份验证的用户

无法加载文件或程序集'System.Web.WebPages.Razor,版本 = 3.0.0.0

使用 ASP.NET WebForms 的 jQuery DataTables 服务器端处理

带有邮箱地址参数的 WebApi 方法从 HttpClient 返回 404

Asp.net Identity 密码哈希

Owin 中是否有来自 Global.asax 的 Application_End?

带有 2 个提交按钮/操作的 ASP.Net MVC 4 表单

使 Web.config 转换在本地工作

如何忽略身份框架的魔力,只使用 OWIN 身份验证中间件来获取我寻求的声明?

Twitter Bootstrap 和 ASP.NET GridView

如何强制 netwtonsoft json 序列化程序将 datetime 属性序列化为字符串?