Skip to content

Commit fc50484

Browse files
committed
Ensure that we delist the trigger session on exception in the BeforeSave cycle.
Closes #168
1 parent 59c5983 commit fc50484

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

src/EntityFrameworkCore.Triggered/Internal/TriggerSessionSaveChangesInterceptor.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,14 +80,19 @@ public InterceptionResult<int> SavingChanges(DbContextEventData eventData, Inter
8080

8181
try
8282
{
83-
8483
eventData.Context.ChangeTracker.AutoDetectChangesEnabled = false;
8584

8685
_triggerSession.RaiseBeforeSaveStartingTriggers();
8786
_triggerSession.RaiseBeforeSaveTriggers();
8887
_triggerSession.CaptureDiscoveredChanges();
8988
_triggerSession.RaiseBeforeSaveCompletedTriggers();
9089
}
90+
catch
91+
{
92+
// We're aborting the SaveChanges call, delist the trigger session now
93+
DelistTriggerSession(eventData);
94+
throw;
95+
}
9196
finally
9297
{
9398
eventData.Context.ChangeTracker.AutoDetectChangesEnabled = defaultAutoDetectChangesEnabled;

0 commit comments

Comments
 (0)