描述
Query是一个可以从IDbConnection类型的任意对象调用的扩展方法,它可以执行查询并映射结果。
结果可以映射到:
- 匿名类型
- 强类型
- 多映射(一对一)
- 多映射(一对多)
- 多类型
参数
下表显示了Query方法的不同参数。
名称 | 描述 |
---|---|
sql | 要执行的查询。 |
param | 查询参数(默认为null )。 |
transaction | 需要使用的事务(默认为null )。 |
buffered | 是否从缓冲读取查询结果(默认为true )。 |
commandTimeout | 命令执行超时时间(默认为null )。 |
commandType | 命令类型(默认为null )。 |
案例1 - 结果映射到动态类型列表
string sqlString = "select * from contract where contractnum=@contractnum";
using (MySqlConnection connection = new MySqlConnection(DbHelperMySQL.connectionString)) { try { connection.Open(); var args = new DynamicParameters(new { }); args.Add("contractnum", "1");
var contract = connection.Query(sqlString, args).ToList(); } catch (MySql.Data.MySqlClient.MySqlException ex) { thrownew Exception(ex.Message); } }
案例2 - 结果映射到强类型列表
/// <summary>
/// 执行查询语句,根据合同号返回contract_config_model实体
/// </summary>
/// <param name="sqlString">查询语句</param>
/// <returns>DataSet</returns>
public List<contract_config_model> GetContractConfigModel()
{
string sqlString = "select * from contract where contractnum=@contractnum";
List<contract_config_model> modellist = new List<contract_config_model>();
using (MySqlConnection connection = new MySqlConnection(DbHelperMySQL.connectionString))
{
try
{
connection.Open();
var args = new DynamicParameters(new { });
args.Add("contractnum", "1");
modellist =connection.Query<contract_config_model>(sqlString,args).ToList();
}
catch (MySql.Data.MySqlClient.MySqlException ex)
{
throw new Exception(ex.Message);
}
return modellist;
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器