public void ExecuteCommand(params Action <SQLiteCommand>[] querys) { using var command = _databaseConnection.CreateCommand(); try { querys.ForEach(query => query(command)); _logger .ForContext("Command", command.CommandText) .ForContext("Parameters", command.Parameters, true) .Verbose("Executed SQL command"); } catch (Exception e) { _logger .ForContext("Command", command.CommandText) .ForContext("Parameters", command.Parameters, true) .Error(e, "Exception thrown while executing SQL command"); throw new SqlExecutionException(e); } }
public void RunCommand(object query, int timeout, Action <IDatabaseCommand> action, params IDatabaseParameter[] @params) { #if LOG_SQL Logger.Debug(query); #endif using IDatabaseConnection conn = Backend.CreateConnection(); using IDatabaseCommand comm = conn.CreateCommand(query); comm.CommandTimeout = timeout; if (@params.Any()) { comm.AddParameters(@params); comm.Prepare(); } action.Invoke(comm); }