- 优化 fsql.Transaction 线程事务;

This commit is contained in:
2881099 2021-03-05 11:41:47 +08:00
parent 913b0ac5ce
commit 79c17d7f60
2 changed files with 16 additions and 4 deletions

View File

@ -138,6 +138,15 @@ namespace base_entity
BaseEntity.Initialization(fsql, () => _asyncUow.Value);
#endregion
for (var a = 0; a < 1000; a++)
{
fsql.Transaction(() =>
{
var tran = fsql.Ado.TransactionCurrentThread;
tran.Rollback();
});
}
fsql.UseJsonMap();
var bid1 = 10;
var list1 = fsql.Select<A>()

View File

@ -74,17 +74,20 @@ namespace FreeSql.Internal.CommonProvider
}
private void CommitTransaction(bool isCommit, Transaction2 tran, Exception rollbackException, string remark = null)
{
if (tran == null || tran.Transaction == null || tran.Transaction.Connection == null) return;
if (tran == null || tran.Transaction == null || tran.Connection == null) return;
_trans.TryRemove(tran.Connection.LastGetThreadId, out var oldtran);
Exception ex = null;
if (string.IsNullOrEmpty(remark)) remark = isCommit ? "提交" : "回滚";
try
{
if (tran.Transaction.Connection != null) //用户自行 Commit、Rollback
{
Trace.WriteLine($"线程{tran.Connection.LastGetThreadId}事务{remark}");
if (isCommit) tran.Transaction.Commit();
else tran.Transaction.Rollback();
}
}
catch (Exception ex2)
{
ex = ex2;