/// <summary> /// 执行数据库的更新操作 /// </summary> /// <param name="sql"></param> /// <param name="parameters"></param> /// <param name="dalHints"></param> /// <returns></returns> private async Task <ExecutionResult> ExecuteNonQuery(string sql, List <DatabaseParameter> parameters, DalHints dalHints) { using (var conn = new MySqlConnection(GetConnectionString())) { // 打开数据库链接 await conn.OpenAsync(); using (var command = BuildCommand(sql, parameters, conn)) { var result = new ExecutionResult() { // 执行Sql语句 ReturnCode = await command.ExecuteNonQueryAsync() }; // 是否需要设置传回主键 if (DalHints.IsSet(dalHints, DalHint.SetIdentity)) { using (var identityCommand = new MySqlCommand("SELECT @@Identity;", conn)) { result.Identity = (ulong)await identityCommand.ExecuteScalarAsync(); } } return(result); } } }