@@ -76,14 +76,16 @@ public InterceptionResult<int> SavingChanges(DbContextEventData eventData, Inter
7676 if ( ! ( eventData . Context is TriggeredDbContext ) )
7777 {
7878 EnlistTriggerSession ( eventData ) ;
79+ Debug . Assert ( _triggerSession != null ) ;
7980
8081 var defaultAutoDetectChangesEnabled = eventData . Context . ChangeTracker . AutoDetectChangesEnabled ;
8182
8283 try
8384 {
85+
8486 eventData . Context . ChangeTracker . AutoDetectChangesEnabled = false ;
8587
86- _triggerSession ! . RaiseBeforeSaveTriggers ( ) . GetAwaiter ( ) . GetResult ( ) ;
88+ _triggerSession . RaiseBeforeSaveTriggers ( ) . GetAwaiter ( ) . GetResult ( ) ;
8789 _triggerSession . CaptureDiscoveredChanges ( ) ;
8890 }
8991 finally
@@ -101,13 +103,17 @@ public async ValueTask<InterceptionResult<int>> SavingChangesAsync(DbContextEven
101103 {
102104 if ( ! ( eventData . Context is TriggeredDbContext ) )
103105 {
104- EnlistTriggerSession ( eventData ) ;
106+ EnlistTriggerSession ( eventData ) ;
107+ Debug . Assert ( _triggerSession != null ) ;
105108
106109 var defaultAutoDetectChangesEnabled = eventData . Context . ChangeTracker . AutoDetectChangesEnabled ;
107110
108111 try
109112 {
110- await _triggerSession ! . RaiseBeforeSaveTriggers ( cancellationToken ) . ConfigureAwait ( false ) ;
113+
114+ eventData . Context . ChangeTracker . AutoDetectChangesEnabled = false ;
115+
116+ await _triggerSession . RaiseBeforeSaveTriggers ( cancellationToken ) . ConfigureAwait ( false ) ;
111117 _triggerSession . CaptureDiscoveredChanges ( ) ;
112118 }
113119 finally
@@ -137,9 +143,9 @@ public async ValueTask<int> SavedChangesAsync(SaveChangesCompletedEventData even
137143 {
138144 if ( ! ( eventData . Context is TriggeredDbContext ) )
139145 {
140- EnlistTriggerSession ( eventData ) ;
146+ Debug . Assert ( _triggerSession != null ) ;
141147
142- await _triggerSession ! . RaiseAfterSaveTriggers ( cancellationToken ) . ConfigureAwait ( false ) ;
148+ await _triggerSession . RaiseAfterSaveTriggers ( cancellationToken ) . ConfigureAwait ( false ) ;
143149
144150 DelistTriggerSession ( eventData ) ;
145151 }
@@ -151,9 +157,9 @@ public void SaveChangesFailed(DbContextErrorEventData eventData)
151157 {
152158 if ( ! ( eventData . Context is TriggeredDbContext ) )
153159 {
154- EnlistTriggerSession ( eventData ) ;
160+ Debug . Assert ( _triggerSession != null ) ;
155161
156- _triggerSession ! . RaiseAfterSaveFailedTriggers ( eventData . Exception ) . GetAwaiter ( ) . GetResult ( ) ;
162+ _triggerSession . RaiseAfterSaveFailedTriggers ( eventData . Exception ) . GetAwaiter ( ) . GetResult ( ) ;
157163
158164 DelistTriggerSession ( eventData ) ;
159165 }
@@ -163,9 +169,9 @@ public async Task SaveChangesFailedAsync(DbContextErrorEventData eventData, Canc
163169 {
164170 if ( ! ( eventData . Context is TriggeredDbContext ) )
165171 {
166- EnlistTriggerSession ( eventData ) ;
172+ Debug . Assert ( _triggerSession != null ) ;
167173
168- await _triggerSession ! . RaiseAfterSaveFailedTriggers ( eventData . Exception , cancellationToken ) . ConfigureAwait ( false ) ;
174+ await _triggerSession . RaiseAfterSaveFailedTriggers ( eventData . Exception , cancellationToken ) . ConfigureAwait ( false ) ;
169175
170176 DelistTriggerSession ( eventData ) ;
171177 }
0 commit comments