public static SqlDataReader CreateDataReader(this ISqlDatabase db, SqlConnection cnn, SqlTransaction transaction, string query, params object[] parameters)
        {
            using (var command = db.CreateCommand(cnn, transaction, query, parameters))
            {
                if (command.Connection.State == ConnectionState.Closed)
                {
                    command.Connection.Open();
                }

                return(command.ExecuteReader());
            }
        }
 public static SqlCommand CreateCommand(this ISqlDatabase db, SqlTransaction transaction, string query, params object[] parameters)
 => db.CreateCommand(transaction.Connection, transaction, query, parameters);
 public static SqlCommand CreateCommand(this ISqlDatabase db, SqlConnection cnn, string query, params object[] parameters)
 => db.CreateCommand(cnn, null, query, parameters);