gpt4 book ai didi

c# - 如何将 DapperRow 转换为 Dictionary

转载 作者:行者123 更新时间:2023-12-04 02:58:01 25 4
gpt4 key购买 nike

我有一个使用 Dapper Row 返回 IEnumerable 的方法。
enter image description here

但是我试图访问数据而不将其类型转换为特定的类,并且我得到了空值。
enter image description here

最佳答案

假设您正在连接到 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();

关于c# - 如何将 DapperRow 转换为 Dictionary<string,string>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51972188/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com