diff --git a/FreeSql.DbContext/UnitOfWork/UnitOfWork.cs b/FreeSql.DbContext/UnitOfWork/UnitOfWork.cs index 86644bf2b..c7014f0d6 100644 --- a/FreeSql.DbContext/UnitOfWork/UnitOfWork.cs +++ b/FreeSql.DbContext/UnitOfWork/UnitOfWork.cs @@ -165,10 +165,11 @@ public void Rollback() int _disposeCounter; public void Dispose() { + if (Interlocked.Increment(ref _disposeCounter) != 1) return; try { - this.Rollback(); + if(_tranBefore is not null) this.Rollback(); } finally {