You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Dapper获取SQLite查询结果的List<string>或Dictionary

使用Dapper获取SQLite查询结果为List或Dictionary<string, object>

获取属性与对应值的Dictionary<string, object>

Dapper可直接将单条查询结果映射为IDictionary<string, object>,键对应数据库列名,值为字段内容:

using Dapper;
using System.Data.SQLite;
using System.Collections.Generic;

// 初始化SQLite连接
using var connection = new SQLiteConnection("你的SQLite连接字符串");
connection.Open();

// 执行查询并获取字典
var productDict = connection.QueryFirst<IDictionary<string, object>>(
    "SELECT * FROM tblProducts WHERE Id = 1"
);

如果不确定查询是否返回结果,建议用QueryFirstOrDefault避免无结果异常:

var productDict = connection.QueryFirstOrDefault<IDictionary<string, object>>(
    "SELECT * FROM tblProducts WHERE Id = 1"
);

if (productDict != null)
{
    // 处理字典数据
}

获取所有值的List

基于上述字典结果,提取所有值并转换为字符串列表即可:

// 从字典中提取值并转为string列表
var valueList = productDict.Values.Select(v => v?.ToString()).ToList();

也可以合并为一步操作:

var valueList = connection.QueryFirstOrDefault<IDictionary<string, object>>(
    "SELECT * FROM tblProducts WHERE Id = 1"
)?.Values.Select(v => v?.ToString()).ToList();

注意事项

  • 用v?.ToString()处理可能的null值,避免空引用异常
  • 确保已安装NuGet包Dapper和System.Data.SQLite.Core

内容的提问来源于stack exchange,提问作者itsalikis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 12:39:54