Skip to content

Fix per-handler [Transactional] mode override ignored with Storage si…#2325

Merged
jeremydmiller merged 1 commit intomainfrom
fix/2319-per-handler-transaction-mode-override
Mar 19, 2026
Merged

Fix per-handler [Transactional] mode override ignored with Storage si…#2325
jeremydmiller merged 1 commit intomainfrom
fix/2319-per-handler-transaction-mode-override

Conversation

@jeremydmiller
Copy link
Copy Markdown
Member

…de effects

When SideEffectPolicy processes Storage return types (Insert, Update, etc.) at startup, it calls ApplyTransactionSupport before TransactionalAttribute.Modify has run. This caused the per-handler Mode override to be ignored, always falling back to the global DefaultMode.

Added ResolveEffectiveMode() to EFCorePersistenceFrameProvider that checks handler method/type [Transactional] attributes directly via reflection when the chain tag isn't yet set. Added IsModeExplicitlySet property to TransactionalAttribute to support this check.

Closes #2319

…de effects

When SideEffectPolicy processes Storage return types (Insert<T>, Update<T>, etc.)
at startup, it calls ApplyTransactionSupport before TransactionalAttribute.Modify
has run. This caused the per-handler Mode override to be ignored, always falling
back to the global DefaultMode.

Added ResolveEffectiveMode() to EFCorePersistenceFrameProvider that checks handler
method/type [Transactional] attributes directly via reflection when the chain tag
isn't yet set. Added IsModeExplicitlySet property to TransactionalAttribute to
support this check.

Closes #2319

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Per-Handler Transaction Mode Override Ignored with Storage Side Effects

1 participant