Skip to content
This repository has been archived by the owner on Jan 23, 2023. It is now read-only.
/ corefx Public archive

SqlClient Allow specifying a UDT SqlParameter value as bytes #36678

Merged
merged 1 commit into from
Apr 25, 2019

Conversation

Wraith2
Copy link
Contributor

@Wraith2 Wraith2 commented Apr 7, 2019

Closes https://github.com/dotnet/corefx/issues/35470

Adds special casing when writing UDT parameter values to the TDS stream so that if the value is byte[] or SqlBytes the value is sent to the server and not rejected as invalid. This allows users to handle serialization and deserialization logic without having to have SqlClient be aware of the types and without using inefficient text representations.

Two new tests are added to verify the behaviour. Functional and manual tests pass.
/cc area owners @afsanehr, @tarikulsabbir, @Gary-Zh , @David-Engel and requester @bricelam

@AfsanehR-zz
Copy link
Contributor

@Wraith2 Could you please get the latest changes from master to your PRs you have open? Want to make sure the tests we run on the CI have your latest tests in. Thanks!

@Wraith2
Copy link
Contributor Author

Wraith2 commented Apr 23, 2019

[edit] with a little help from the corefx gitter it should be properly rebased now.

@AfsanehR-zz
Copy link
Contributor

Tests passed.

@ajcvickers
Copy link
Member

ajcvickers commented Jun 14, 2019

@David-Engel Any idea what is going on here? (see dotnet/efcore#16097) We were under the impression that this PR had been merged into Microsoft.Data.SqlClient.

@David-Engel
Copy link

@ajcvickers I have a list of a few dozen changes that were merged into System.Data.SqlClient over the past 6 months (since we snapped the code for Microsoft.Data.SqlClient). Only about a dozen made it into Microsoft.Data.SqlClient for the preview and this was not one of them. We've been working through the rest of them as time permits. I'll make sure this one makes it into the next preview.

JRahnama pushed a commit to JRahnama/SqlClient that referenced this pull request Sep 5, 2019
…alue as bytes

Port change to both netcore and netfx.
dotnet/corefx#36678

Adds special casing when writing UDT parameter values to the TDS stream so that if the value is byte[] or SqlBytes the value is sent to the server and not rejected as invalid. This allows users to handle serialization and deserialization logic without having to have SqlClient be aware of the types and without using inefficient text representations.

Related work items: #8819
BradBarnich added a commit to BradBarnich/EntityFramework that referenced this pull request Feb 16, 2021
picenka21 pushed a commit to picenka21/runtime that referenced this pull request Feb 18, 2022
SqlClient Allow specifying a UDT SqlParameter value as bytes

Commit migrated from dotnet/corefx@aff33dc
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
7 participants