/// <summary> /// 执行带返回结果集的存储过程 /// </summary> /// <param name="sql">存储过程名称</param> /// <param name="parameters">存储过程参数</param> /// <returns>返回结果集</returns> public IList <T> ExecuteProcedure <T>(string sql, DataParameters parameters = null) { try { return(Connection.Query <T>(sql, parameters?.GetDynamicParameters(), Transaction, true, null, CommandType.StoredProcedure).ToList()); } catch (Exception e) { Rollback();//异常时候回滚,防止数据库锁死 throw new DataException(e.Message); } }
/// <summary> /// 执行无返回参数的存储过程 /// </summary> /// <param name="sql">存储过程名称</param> /// <param name="parameters">存储过程参数</param> /// <returns>返回结果集(非返回参数)</returns> public int ExecuteProcedureNonQuery(string sql, DataParameters parameters = null) { try { return(Connection.Execute(sql, parameters?.GetDynamicParameters(), Transaction, null, CommandType.StoredProcedure)); } catch (Exception e) { Rollback();//异常时候回滚,防止数据库锁死 throw new DataException(e.Message); } }
/// <summary> /// 执行带返回参数的存储过程 /// </summary> /// <param name="sql"></param> /// <param name="parameters">存储过程参数</param> /// <returns>返回值字典集合</returns> public IDictionary <string, object> ExecuteProcedure(string sql, DataParameters parameters = null) { try { Connection.Execute(sql, parameters?.GetDynamicParameters(), Transaction, null, CommandType.StoredProcedure); return(parameters.GetOutput()); } catch (Exception e) { Rollback();//异常时候回滚,防止数据库锁死 throw new DataException(e.Message); } }