public static object ExcuteTrann(UpdateContext context) { if (context.ExcuteFail == true) { return(false); } var config = context.Config; var conn = context.OpenTran(config.Connection); var connection = conn.Item1; var trann = conn.Item2; var realSql = SqlParser.Convert(context, config.Sql); var cmd = connection.CreateCommand(); cmd.CommandText = realSql.Item1; cmd.Transaction = trann; try { if (realSql.Item2 != null && realSql.Item2.Any()) { foreach (var ps in realSql.Item2) { cmd.Parameters.AddWithValue(ps.Key, ps.Value); } } var result = cmd.ExecuteNonQuery(); context.AddCmd(cmd); return(GetResult(context, cmd, result)); } catch (Exception ex) { context.RollBack(); throw; } }