Exemple #1
0
        public static async Task <IDictionary <string, object> > ReturnExecute(string sql, string[] outParamsName, DynamicParameters param = null, IDbTransaction dbTransaction = null, IDbConnection connection = null, SQLType type = SQLType.MySql)
        {
            if (connection != null)
            {
                if (connection.State != ConnectionState.Open)
                {
                    connection.Open();
                }
                param = param ?? new DynamicParameters();
                await connection.ExecuteAsync(sql, param, commandType : CommandType.Text, transaction : dbTransaction);

                Dictionary <string, object> result = new Dictionary <string, object>();
                foreach (var item in outParamsName)
                {
                    result.Add(item, param.Get <object>(item));
                }

                return(result);
            }
            else
            {
                switch (type)
                {
                case SQLType.SQLServer:
                    using (IDbConnection conn = new SqlConnection(ConnectionString))
                    {
                        conn.Open();
                        param = param ?? new DynamicParameters();
                        await conn.ExecuteAsync(sql, param, commandType : CommandType.Text);

                        Dictionary <string, object> result = new Dictionary <string, object>();
                        foreach (var item in outParamsName)
                        {
                            result.Add(item, param.Get <object>(item));
                        }

                        return(result);
                    }

                case SQLType.MySql:
                    using (IDbConnection conn = new MySqlData.MySql.Data.MySqlClient.MySqlConnection(ConnectionString))
                    {
                        conn.Open();
                        param = param ?? new DynamicParameters();
                        await conn.ExecuteAsync(sql, param, commandType : CommandType.Text);

                        Dictionary <string, object> result = new Dictionary <string, object>();
                        foreach (var item in outParamsName)
                        {
                            result.Add(item, param.Get <object>(item));
                        }

                        return(result);
                    }

                default:
                    throw new Exception("Wrong type");
                }
            }
        }
Exemple #2
0
        public void Setup()
        {
            using (var oldConnection = new OldMySqlConnection(s_connectionString))
            {
                oldConnection.Open();
                RunSetupSql(oldConnection);
            }

            using (var newConnection = new NewMySqlConnection(s_connectionString))
            {
                newConnection.Open();
                RunSetupSql(newConnection);
            }

            s_connectionString += ";database=benchmark";

            m_oldConnection = new OldMySqlConnection(s_connectionString);
            m_oldConnection.Open();

            m_newConnection = new NewMySqlConnection(s_connectionString);
            m_newConnection.Open();
        }
Exemple #3
0
        public static async Task <IEnumerable <T> > Query <T>(string sql, DynamicParameters param = null, IDbTransaction dbTransaction = null, IDbConnection connection = null, SQLType type = SQLType.MySql)
        {
            if (connection != null)
            {
                if (connection.State != ConnectionState.Open)
                {
                    connection.Open();
                }
                param = param ?? new DynamicParameters();
                return(await connection.QueryAsync <T>(sql, param, dbTransaction));
            }
            else
            {
                switch (type)
                {
                case SQLType.SQLServer:
                    using (IDbConnection conn = new SqlConnection(ConnectionString))
                    {
                        conn.Open();
                        param = param ?? new DynamicParameters();
                        return(await conn.QueryAsync <T>(sql, param));
                    }

                case SQLType.MySql:
                    using (IDbConnection conn = new MySqlData.MySql.Data.MySqlClient.MySqlConnection(ConnectionString))
                    {
                        conn.Open();
                        param = param ?? new DynamicParameters();
                        return(await conn.QueryAsync <T>(sql, param));
                    }

                default:
                    throw new Exception("Wrong type");
                }
            }
        }
Exemple #4
0
        public static async Task <int> Execute(string sql, DynamicParameters param = null, IDbTransaction dbTransaction = null, IDbConnection connection = null, SQLType type = SQLType.MySql)
        {
            if (connection != null)
            {
                if (connection.State != ConnectionState.Open)
                {
                    connection.Open();
                }
                param = param ?? new DynamicParameters();
                return(await connection.ExecuteAsync(sql, param, commandType : CommandType.Text, transaction : dbTransaction));
            }
            else
            {
                switch (type)
                {
                case SQLType.SQLServer:
                    using (IDbConnection conn = new SqlConnection(ConnectionString))
                    {
                        conn.Open();
                        param = param ?? new DynamicParameters();
                        return(await conn.ExecuteAsync(sql, param, commandType : CommandType.Text));
                    }

                case SQLType.MySql:
                    using (IDbConnection conn = new MySqlData.MySql.Data.MySqlClient.MySqlConnection(ConnectionString))
                    {
                        conn.Open();
                        param = param ?? new DynamicParameters();
                        return(await conn.ExecuteAsync(sql, param, commandType : CommandType.Text));
                    }

                default:
                    throw new Exception("Wrong type");
                }
            }
        }
Exemple #5
0
        public static async Task <T> SPExecuteScadar <T>(string sql, DynamicParameters param = null, IDbTransaction dbTransaction = null, IDbConnection connection = null, SqlType type = SqlType.MySql)
        {
            if (connection != null)
            {
                if (connection.State != ConnectionState.Open)
                {
                    connection.Open();
                }
                param = param ?? new DynamicParameters();
                return(await connection.ExecuteScalarAsync <T>(sql, param, commandType : CommandType.StoredProcedure, transaction : dbTransaction));
            }
            else
            {
                switch (type)
                {
                case SqlType.SQLServer:
                    using (IDbConnection conn = new SqlConnection(ConnectionString))
                    {
                        conn.Open();
                        param = param ?? new DynamicParameters();
                        return(await conn.ExecuteScalarAsync <T>(sql, param, commandType : CommandType.StoredProcedure));
                    }

                case SqlType.MySql:
                    using (IDbConnection conn = new MySqlData.MySql.Data.MySqlClient.MySqlConnection(ConnectionString))
                    {
                        conn.Open();
                        param = param ?? new DynamicParameters();
                        return(await conn.ExecuteScalarAsync <T>(sql, param, commandType : CommandType.StoredProcedure));
                    }

                default:
                    throw new ArgumentWrongException("Wrong type");
                }
            }
        }