Skip to content

Commit b997001

Browse files
committed
chore: optimize transaction management
Removed redundant config from AdncDbContext.OnConfiguring. Disabled AutoSavepointsEnabled in UnitOfWork.
1 parent 23ff355 commit b997001

File tree

2 files changed

+3
-8
lines changed

2 files changed

+3
-8
lines changed

src/Infrastructures/Repository.EfCore/AdncDbContext.cs

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,13 @@ public abstract class AdncDbContext(DbContextOptions options, IEntityInfo entity
44
{
55
public override Task<int> SaveChangesAsync(CancellationToken cancellationToken = default)
66
{
7+
//efcore7 support this feature , default is WhenNeeded
8+
//Database.AutoTransactionBehavior = AutoTransactionBehavior.WhenNeeded;
79
SetAuditFields();
810
var result = base.SaveChangesAsync(cancellationToken);
911
return result;
1012
}
1113

12-
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
13-
{
14-
Database.AutoSavepointsEnabled = false;
15-
//efcore7 support this feature , default is WhenNeeded
16-
//Database.AutoTransactionBehavior = AutoTransactionBehavior.WhenNeeded;
17-
//ChangeTracker.QueryTrackingBehavior = QueryTrackingBehavior.NoTracking;
18-
}
19-
2014
protected override void OnModelCreating(ModelBuilder modelBuilder)
2115
{
2216
entityInfo.OnModelCreating(modelBuilder);

src/Infrastructures/Repository.EfCore/Transaction/UnitOfWork.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ public void BeginTransaction(IsolationLevel isolationLevel = IsolationLevel.Read
1919
}
2020
else
2121
{
22+
AdncDbContext.Database.AutoSavepointsEnabled = false;
2223
DbTransaction = GetDbContextTransaction(isolationLevel, distributed);
2324
logger?.LogDebug("Begin Transaction, transactionId:{transactionId}, IsolationLevel:{IsolationLevel}, Distributed:{Distributed}", DbTransaction.TransactionId, isolationLevel, distributed);
2425
}

0 commit comments

Comments
 (0)