c# - 如何将 DapperRow 转换为字典
解决方案
假设您正在连接到 SQL 数据库
public List<IDictionary<string, object>> DapperSelect(string connectionString, string query, object parameters)
{
using (var connection = new SqlConnection(connectionString))
{
var result = connection.Query(query, parameters).ToList();
return result.Select(x => (IDictionary<string, object>)x).ToList();
}
}
我不认为你应该将你的结果转换为IDictionary<string, string>
我认为它没有你想要的效果,不是字典中的每个项目都会是一个字符串,它可能是 bool、int、double 等。 ..
但如果你坚持,你可以尝试做类似的事情
result.Select(x => ((IDictionary<string, object>)x).ToDictionary(ks => ks.Key, vs => vs.ToString())).ToList();
但我不推荐它。
比这一切更好的是,使用 dapper,您始终可以强输入从 SQL 返回的结果,因此而不是
connection.Query(query, parameters).ToList();
你会写
connection.Query<YOURTYPE>(query, parameters).ToList();
推荐阅读
- install4j - 运行下载的 install4j 更新而不进行调度
- angular - 在 Angular 的循环中订阅一个 observable
- java - 从 amazon s3 存储桶中删除文件时出错
- npm - 将客户端的文件与服务器同步 - Electron/node.js
- javascript - 焦点仅在我使用选项卡转到按钮时才有效,之后当我单击按钮时焦点不起作用
- ios - 滚动时在tableview Swift中的tableView时出现混蛋
- ruby-on-rails - Rails 4 应用程序显示对象,即使没有在 before_action 中调用 set_object
- php - PHP 响应消失
- python - pipenv 和 wheel/预编译包
- regex - 需要在 Apache FilesMatch 中进行字符转义