mirror of
https://github.com/nsnail/FreeSql.git
synced 2025-06-19 12:28:15 +08:00
- 修复 Ado.Net Crud 扩展方法事务的友好异常提示;
This commit is contained in:
@ -33,7 +33,10 @@ namespace FreeSql.Internal.CommonProvider
|
||||
return ret;
|
||||
}
|
||||
if (_transaction == null)
|
||||
this.WithTransaction(_orm.Ado.TransactionCurrentThread);
|
||||
{
|
||||
var threadTransaction = _orm.Ado.TransactionCurrentThread;
|
||||
if (threadTransaction != null) this.WithTransaction(threadTransaction);
|
||||
}
|
||||
|
||||
var before = new Aop.TraceBeforeEventArgs("SplitExecuteAffrowsAsync", null);
|
||||
_orm.Aop.TraceBeforeHandler?.Invoke(this, before);
|
||||
@ -51,6 +54,7 @@ namespace FreeSql.Internal.CommonProvider
|
||||
}
|
||||
else
|
||||
{
|
||||
if (_orm.Ado.MasterPool == null) throw new Exception("Ado.MasterPool 值为 null,该操作无法自启用事务,请显式传递【事务对象】解决");
|
||||
using (var conn = await _orm.Ado.MasterPool.GetAsync())
|
||||
{
|
||||
_transaction = conn.Value.BeginTransaction();
|
||||
@ -108,7 +112,10 @@ namespace FreeSql.Internal.CommonProvider
|
||||
return ret;
|
||||
}
|
||||
if (_transaction == null)
|
||||
this.WithTransaction(_orm.Ado.TransactionCurrentThread);
|
||||
{
|
||||
var threadTransaction = _orm.Ado.TransactionCurrentThread;
|
||||
if (threadTransaction != null) this.WithTransaction(threadTransaction);
|
||||
}
|
||||
|
||||
var before = new Aop.TraceBeforeEventArgs("SplitExecuteIdentityAsync", null);
|
||||
_orm.Aop.TraceBeforeHandler?.Invoke(this, before);
|
||||
@ -127,6 +134,7 @@ namespace FreeSql.Internal.CommonProvider
|
||||
}
|
||||
else
|
||||
{
|
||||
if (_orm.Ado.MasterPool == null) throw new Exception("Ado.MasterPool 值为 null,该操作无法自启用事务,请显式传递【事务对象】解决");
|
||||
using (var conn = await _orm.Ado.MasterPool.GetAsync())
|
||||
{
|
||||
_transaction = conn.Value.BeginTransaction();
|
||||
@ -185,7 +193,10 @@ namespace FreeSql.Internal.CommonProvider
|
||||
return ret;
|
||||
}
|
||||
if (_transaction == null)
|
||||
this.WithTransaction(_orm.Ado.TransactionCurrentThread);
|
||||
{
|
||||
var threadTransaction = _orm.Ado.TransactionCurrentThread;
|
||||
if (threadTransaction != null) this.WithTransaction(threadTransaction);
|
||||
}
|
||||
|
||||
var before = new Aop.TraceBeforeEventArgs("SplitExecuteInsertedAsync", null);
|
||||
_orm.Aop.TraceBeforeHandler?.Invoke(this, before);
|
||||
@ -203,6 +214,7 @@ namespace FreeSql.Internal.CommonProvider
|
||||
}
|
||||
else
|
||||
{
|
||||
if (_orm.Ado.MasterPool == null) throw new Exception("Ado.MasterPool 值为 null,该操作无法自启用事务,请显式传递【事务对象】解决");
|
||||
using (var conn = await _orm.Ado.MasterPool.GetAsync())
|
||||
{
|
||||
_transaction = conn.Value.BeginTransaction();
|
||||
|
Reference in New Issue
Block a user