예제 #1
0
        /// <inheritdoc />
        public async Task <ResultSet <T> > SelectAsync <T>(string query, Dictionary <string, dynamic> bindings = null) where T : Model <T>, new()
        {
            using var connection = new Connection(ConnectionString);
            await connection.OpenAsync();

            using var command = new Command(query, connection);
            BindParameters(command, bindings);

            using var reader = await command.ExecuteReaderAsync();

            ResultSet <T> resultSet = new ResultSet <T>();

            if (Manager.DebugMode)
            {
                Manager.Logger(query);
            }

            while (await reader.ReadAsync())
            {
                ResultRow <T> resultRow = new ResultRow <T>();

                for (int column = 0; column < reader.FieldCount; column++)
                {
                    resultRow.Columns.Add(reader.GetName(column), reader.GetValue(column));
                }

                resultSet.Rows.Add(resultRow);
            }

            return(resultSet);
        }
예제 #2
0
        /// <inheritdoc />
        public async Task DeleteAsync(string query, Dictionary <string, dynamic> bindings = null)
        {
            using var connection = new Connection(ConnectionString);
            await connection.OpenAsync();

            using var command = new Command(query, connection);
            BindParameters(command, bindings);
            await command.ExecuteNonQueryAsync();

            if (Manager.DebugMode)
            {
                Manager.Logger(query);
            }
        }
예제 #3
0
 private void UserHandlTest(IApplicationBuilder app)
 {
     app.Run(async ctx =>
     {
         using (var connection = new MySqlConnector.MySqlConnection("server=192.168.3.125;database=go_testdb;uid=root;pwd=123456;charset='utf8';SslMode=None"))
         {
             await connection.OpenAsync();
             using var command      = connection.CreateCommand();
             command.CommandText    = "select id,name,age,birthday from users where id = 1";
             command.Connection     = connection;
             command.CommandTimeout = 1;
             var reader             = await command.ExecuteReaderAsync();
             //_ = await connection.QueryFirstAsync<User>("select id,name,age,birthday from users");
         }
     });
 }
예제 #4
0
        /// <inheritdoc />
        public async Task <int> InsertAsync(string query, Dictionary <string, dynamic> bindings = null)
        {
            using var connection = new Connection(ConnectionString);
            await connection.OpenAsync();

            using var command = new Command(query, connection);
            BindParameters(command, bindings);
            await command.ExecuteNonQueryAsync();

            if (Manager.DebugMode)
            {
                Manager.Logger(query);
            }

            return(Convert.ToInt32(command.LastInsertedId));
        }