Add CommandDefinition.SetCommandSetup for configuring commands after Dapper setup#2186
Open
toreamun wants to merge 1 commit intoDapperLib:mainfrom
Open
Add CommandDefinition.SetCommandSetup for configuring commands after Dapper setup#2186toreamun wants to merge 1 commit intoDapperLib:mainfrom
toreamun wants to merge 1 commit intoDapperLib:mainfrom
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR adds a simple, non-invasive extension point to configure
IDbCommandinstances after Dapper has completed its own setup.Motivation
Applications communicating with cloud services need to handle transient faults. Microsoft.Data.SqlClient provides built-in Configurable retry logic, but while retry logic can be configured at the connection level (for
Open()etc.), command-level retry requires settingSqlCommand.RetryLogicProvideron each command.The current version of Dapper doesn't provide a way to configure provider-specific command properties like
RetryLogicProvider.Solution
This PR adds a minimal API:
The callback is invoked at the end of internal SetupCommand, after Dapper has configured the command.
Usage example
Why this approach?
Related issues