using System; using System.Linq; using SqlSugar; namespace CSFramework.DB { public class SqlSugarHelper { private static readonly string _connectionString = "Data Source=43.142.96.171;Initial Catalog=CSFrameworkV5_Normal;User ID=gsmesuser;Password =123456;"; // 这里替换成你的实际连接字符串 public static SqlSugarClient GetInstance() { var db = new SqlSugarClient(new ConnectionConfig() { ConnectionString = _connectionString, DbType = DbType.SqlServer, IsAutoCloseConnection = true, //开启自动释放模式和EF原理一样我就不多解释了 InitKeyType = InitKeyType.Attribute }); //调式代码 用来打印SQL db.Aop.OnLogExecuting = (sql, pars) => { Console.WriteLine(sql + "\r\n" + db.Utilities.SerializeObject( pars.ToDictionary(it => it.ParameterName, it => it.Value))); // LogHelper.LogWrite(sql + "\r\n" +Db.Utilities.SerializeObject(pars.ToDictionary(it => it.ParameterName, it => it.Value))); }; return db; } public static int UseTransactionWithOracle( Func action) { using (var db = GetInstance()) { try { db.Ado.BeginTran(); // 开始事务 var affectedRows = action.Invoke(db); // 执行传入的操作并获取受影响的行数 db.Ado.CommitTran(); // 提交事务 return affectedRows; // 返回受影响的行数 } catch (Exception ex) { db.Ado.RollbackTran(); // 回滚事务 throw ex; } } } } }