Support named parameters everywhere you can pass parameters in #3604
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.
Requires JasperFx/weasel#159,
JasperFx/weasel#162+ related package update. Tests will not pass unless the latest package is there.Some places supported named parameters (like
.Query()
) but this was not consistent. This PR adds support for the remaining places that I could think of (,MatchesSql
QueueSqlCommand
), adds tests for these changes as well as the changes in Weasel. I have also updated the documentation to mention named parameters wherever parameters are already discussed.The tl:dr of the functional changes:
IDictionary<string, T>
, where T is anything, will be treated as a dictionary of named parameters.This should not break the public API for anyone, as previously passing in a dictionary or an anonymous object would have resulted in Npgsql throwing an error.
Update:
This does not support
MatchesSql
due to the mixing of named and positional parameters. The error from npgsql for this is pretty clear, and the documentation mentions that this shouldn't be done.