Ejemplo n.º 1
0
        private int ExecuteNonQuery(ISqlExpression sqlExpression)
        {
            var rowsAffected = -1;

            using var connection = _connection.Invoke();
            connection.Open();
            using IDbTransaction transaction = connection.BeginTransaction();
            using var command   = connection.CreateCommand();
            command.CommandText = sqlExpression.AsSqlString();
            PrepareStatement(sqlExpression, command);
            command.Transaction = transaction;
            try
            {
                rowsAffected = command.ExecuteNonQuery();
                transaction.Commit();
                Console.WriteLine("Transaction successful");
                return(rowsAffected);
            }
            catch (Exception ex)
            {
                Console.WriteLine("Commit Exception Type: {0}", ex.GetType());
                Console.WriteLine("  Message: {0}", ex.Message);
                // most rollback per default but we do not want to rely on that
                transaction.Rollback();
                throw ex;
            }
        }
Ejemplo n.º 2
0
 public string AsSqlString()
 {
     return($"{_left.AsSqlString()} {_operatorSymbol} {_right.AsSqlString()}");
 }
Ejemplo n.º 3
0
 public string AsSqlString()
 {
     return(_inner.AsSqlString());
 }
Ejemplo n.º 4
0
 public string AsSqlString()
 {
     return(_left.AsSqlString() + " " + _operatorSymbol + " " + _right.AsSqlString());
 }
Ejemplo n.º 5
0
 public string AsSqlString()
 {
     return($"WITH {Alias} AS ({_inner.AsSqlString()})");
 }