1. 程式人生 > 實用技巧 >Dapper常用方法總結

Dapper常用方法總結

常用方法

#region Dapper 資料庫操作


        #region Query 操作

        /// <summary>
        /// 無參獲取單個實體modle
        /// </summary>
        /// <param name="sqlstr"></param>
        /// <returns>T</returns>
        public static T QueryModel<T>(string sqlstr) where T : new()
        {

            T t 
= new T(); using (MySqlConnection connection = new MySqlConnection(connectionString)) { try { connection.Open(); t = connection.QueryFirstOrDefault<T>(sqlstr); } catch
(MySql.Data.MySqlClient.MySqlException ex) { //throw new Exception(ex.Message); connection.Close(); } } return t; } /// <summary> /// 引數化獲取單個實體modle /// </summary> ///
<param name="sqlstr">執行sql語句</param> /// <param name="parms">引數陣列</param> /// <returns>T</returns> public static T QueryModel<T>(string sqlstr, params MySqlParameter[] parms) where T : new() { T t = new T(); using (MySqlConnection connection = new MySqlConnection(connectionString)) { try { connection.Open(); var args = new DynamicParameters(new { }); foreach (MySqlParameter parm in parms) { args.Add(parm.ParameterName,parm.Value); } t = connection.QueryFirstOrDefault<T>(sqlstr,args); } catch (MySql.Data.MySqlClient.MySqlException ex) { //throw new Exception(ex.Message); connection.Close(); } } return t; } /// <summary> /// 獲取多個實體modle /// </summary> /// <param name="sqlString">查詢語句</param> /// <returns>List<T></returns> public static List<T> QueryModelList<T>(string sqlString) where T : new() { List<T> tlist = new List<T>(); using (MySqlConnection connection = new MySqlConnection(DbHelperMySQL.connectionString)) { try { connection.Open(); tlist = connection.Query<T>(sqlString).ToList(); } catch (MySql.Data.MySqlClient.MySqlException ex) { //throw new Exception(ex.Message); connection.Close(); } return tlist; } } /// <summary> /// 引數化獲取多個實體modle /// </summary> /// <param name="sqlString">查詢語句</param> /// <returns>List<T></returns> public static List<T> QueryModelList<T>(string sqlString, params MySqlParameter[] parms) where T : new() { List<T> tlist = new List<T>(); using (MySqlConnection connection = new MySqlConnection(DbHelperMySQL.connectionString)) { try { connection.Open(); var args = new DynamicParameters(new { }); foreach (MySqlParameter parm in parms) { args.Add(parm.ParameterName, parm.Value); } tlist = connection.Query<T>(sqlString, args).ToList(); } catch (MySql.Data.MySqlClient.MySqlException ex) { //throw new Exception(ex.Message); connection.Close(); } return tlist; } } #endregion #region Execute 操作 /// <summary> /// 單條執行一條sql資料 /// </summary> /// <param name="sqlstr">執行語句</param> /// <returns></returns> public static int Execute(string sqlstr) { int obj = 0; using (MySqlConnection connection = new MySqlConnection(connectionString)) { try { connection.Open(); obj = connection.Execute(sqlstr); } catch (MySql.Data.MySqlClient.MySqlException ex) { //throw new Exception(ex.Message); connection.Close(); } } return obj; } /// <summary> /// 引數化單條執行一條sql資料 /// </summary> /// <param name="sqlstr">執行語句</param> /// <returns></returns> public static int Execute(string sqlstr, params MySqlParameter[] parms) { int obj = 0; using (MySqlConnection connection = new MySqlConnection(connectionString)) { try { connection.Open(); var args = new DynamicParameters(new { }); foreach (MySqlParameter parm in parms) { args.Add(parm.ParameterName, parm.Value); } obj = connection.Execute(sqlstr, args); } catch (MySql.Data.MySqlClient.MySqlException ex) { //throw new Exception(ex.Message); connection.Close(); } } return obj; } #endregion #endregion