Feature | Implement SqlConnection.GetSchemaAsync#3005
Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #3005 +/- ##
==========================================
- Coverage 66.02% 64.48% -1.55%
==========================================
Files 277 271 -6
Lines 42989 65791 +22802
==========================================
+ Hits 28383 42423 +14040
- Misses 14606 23368 +8762
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
This introduces async-over-sync, removing such requires work with the state machine and separate review.
|
@edwardneal - Can you resolve the conflicts, and then I will kick off another CI run? |
|
Thanks @paulmedynski, I've just brought the branch up to date. |
|
/azp run |
|
Azure Pipelines successfully started running 2 pipeline(s). |
paulmedynski
left a comment
There was a problem hiding this comment.
A few inconsistencies and questions.
Remove SqlDataReader.GetSchemaTableAsync (and references to such.) Expand test coverage of both GetSchema and GetSchemaAsync. Correct typo in documentation for GetSchema and GetSchemaAsync.
|
/azp run |
|
Azure Pipelines successfully started running 2 pipeline(s). |
|
This PR is not stale. |
734b99f
|
/azp run |
|
Azure Pipelines successfully started running 2 pipeline(s). |
|
@edwardneal - Can you rebase/merge from main? The macOS failure is strange, and I know @benrr101 has made many build changes lately that are passing elsewhere. |
|
I've just merged - hopefully that fixes the failure. |
|
/azp run |
|
Azure Pipelines successfully started running 2 pipeline(s). |
Contributes to #646, adding
SqlConnection.GetSchemaAsync.I can't add the IDbColumnSchemaGenerator method because the .NET Framework version of SqlDataReader doesn't yet implement that interface. #2967 tracks this.
SqlDataReader.GetSchemaTableAsyncrequires some extra work with the state machine to guarantee that the column metadata is available, and I'll submit a separate PR for this.I've added some basic documentation, but this effectively follows the
SqlCommand.[Something]Asyncpattern of "An asynchronous version of [Something], which <etc.>"I've also moved the netfx GetSchema methods from SqlConnectionHelper.cs to SqlConnection.cs, to align that part of it with netcore. This contributes to the merge slightly.