Closed John0King closed 3 years ago
这块暂时不合并,影响太大了,现有功能都很稳定了,不能因为你喜欢using 我去大动刀去改这一块毕竟,稳定了这么多年了, 单例的
using (Db)
{
Db.BeginTran();
//调用外部方法也支持事务
new Test2Manager().Insert(XX);//Test2Manager也是继承DbContext
//插入数据
CustomDal.Insert(customList);//使用Custom仓储方法
OrderDal.Insert(orderList);//使用Order仓储方法
throw new Exception("故意出错"); //出错会自动回滚
}
我把默认dispose 改成回滚
就算你喜欢用using 也是可以实现的
这样我的话我只要改一行代码
using (Db) {
Db.BeginTran();
//代码
}
修改了默认dispose提交方式
using (Db) { Db.BeginTran(); //代码 }
修改了默认dispose提交方式
那个地方应该调用dispose,commit 和rollback都不应该调用, dispose是"智能"的
var db = GetInstance();
using (var tran = db.UseTran())
{
tran.CommitTran();
}
下载最新代码,用法和EF非常相近了,应该达到你的需求了
辛苦了
对 #954 所说的 原型的实现逻辑
ISugarTransaction
SqlSugarClient.BeginTran
returnISugarTransaction
SqlSugarScope.BeginTran
returnISugarTransaction
ToDo: