Dapper 学习(一) Query方法

描述

Query是一个可以从IDbConnection类型的任意对象调用的扩展方法,它可以执行查询并映射结果。

结果可以映射到:

  • 匿名类型
  • 强类型
  • 多映射(一对一)
  • 多映射(一对多)
  • 多类型

参数

下表显示了Query方法的不同参数。

名称描述
sql 要执行的查询。
param 查询参数(默认为null)。
transaction 需要使用的事务(默认为null)。
buffered 是否从缓冲读取查询结果(默认为true)。
commandTimeout 命令执行超时时间(默认为null)。
commandType 命令类型(默认为null)。

案例1 - 返回实体列表

描述:原生SQL查询可以使用Query方法执行,并将结果映射到动态类型列表

            
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 - 返回实体列表

描述:原生SQL查询可以使用Query方法执行,并将结果映射到强类型列表

        /// <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;
            }
        }

 

原文地址:https://www.cnblogs.com/for917157ever/p/14111056.html