Skip to content

docs: migrate SQL Server feature guidance to Microsoft.Data.SqlClient - #56462

Draft
dlevy-msft-sql wants to merge 4 commits into
dotnet:mainfrom
dlevy-msft-sql:dlevy-msft-sql-sqlclient-sql-server-features
Draft

dlevy-msft-sql wants to merge 4 commits into
dotnet:mainfrom
dlevy-msft-sql:dlevy-msft-sql-sqlclient-sql-server-features

Conversation

@dlevy-msft-sql

@dlevy-msft-sql dlevy-msft-sql commented Oct 19, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Required current-head execution passed, with disclosed exclusions. Native .NET 8 snapshot cases passed on Windows, Linux, and macOS. Combined successful SQL counts are 95/87/87. The final Portable snapshot validation closure section records these results and the unrun alternatives. Earlier paused/unmet-gate statements remain as publication history; the final follow-up supersedes only the cases it actually executed.

Problem

SQL Server feature articles and their C#/Visual Basic samples still recommend System.Data.SqlClient for standalone clients. A namespace-only migration also leaves incorrect async connection keywords, code access security guidance, LocalDB configuration, and ASP.NET cache integration assumptions.

Solution

Migrate standalone client guidance and samples to Microsoft.Data.SqlClient 7.1.1. Keep provider-independent types in System.Data and System.Data.SqlTypes. Preserve the actual provider boundaries:

  • SQL CLR context connections continue to require .NET Framework and System.Data.SqlClient.
  • Server-side CLR UDT definitions continue to use Microsoft.SqlServer.Server; client-side table-valued records use Microsoft.Data.SqlClient.Server.
  • ASP.NET Framework SqlCacheDependency continues to integrate with System.Data.SqlClient. Microsoft.Data.SqlClient applications handle SqlDependency.OnChange through their own cache API.
  • Historical code access security samples remain Framework-only. Modern .NET guidance uses database permissions.

This independent topic PR targets dotnet/docs:main, not another migration branch. It contains exactly 89 files and 28 projects, with no files from other partitions.

Changes

Read asynchronous-operations.md, enabling-query-notifications.md, query-notifications-in-sql-server.md, the-context-connection.md, and sqlclient-support-for-localdb.md first, then the repaired WaitAny, date/time, and explicit-queue notification examples in aspnet-apps-using-wait-handles.md, date-and-time-data.md, and detecting-changes-with-sqldependency.md. Read the other Major edits next, including provider-package and Framework-target changes. Small follow-on changes still need review for incorrect references, imports, and shared-snippet effects the build might miss.

File Change Review focus
docs/framework/data/adonet/sql/aspnet-apps-using-wait-handles.md Remove unsupported async keywords; recommend task-based coordination; consume each completed WaitAny handle once in C#/VB. Major edits
docs/framework/data/adonet/sql/asynchronous-operations.md Rewrite async API, I/O, lifetime, exception, and UI-thread guidance. Major edits
docs/framework/data/adonet/sql/bulk-copy-example-setup.md Update bulk-copy API references; database setup remains unchanged. Small follow-on changes
docs/framework/data/adonet/sql/bulk-copy-operations-in-sql-server.md Distinguish server-side BULK INSERT file access from client-side SqlBulkCopy. Major edits
docs/framework/data/adonet/sql/comparing-guid-and-uniqueidentifier-values.md Clarify metadata for existing Guid/SqlGuid examples; comparison code is unchanged. Small follow-on changes
docs/framework/data/adonet/sql/database-mirroring-in-sql-server.md Update provider naming and API references; failover sequence remains unchanged. Small follow-on changes
docs/framework/data/adonet/sql/date-and-time-data.md Replace prerequisites; correct DateTimeOffset enum, literals, and parameter inference; repair VB syntax. Major edits
docs/framework/data/adonet/sql/detecting-changes-with-sqldependency.md Replace CAS assumptions with database permissions; supply explicit-queue notification options in both languages. Major edits
docs/framework/data/adonet/sql/enabling-multiple-active-result-sets.md Update the displayed exception namespace; MARS guidance is unchanged. Small follow-on changes
docs/framework/data/adonet/sql/enabling-query-notifications.md Replace permission-demand examples with database grants; explain and flag ASP.NET cache incompatibility. Major edits
docs/framework/data/adonet/sql/enumerating-instances-of-sql-server.md Replace partial-trust assumptions; correct samples and document native-Windows discovery versus unsupported managed networking. Major edits
docs/framework/data/adonet/sql/filestream-data.md Specify Windows/integrated-authentication requirements and the client SqlFileStream namespace. Major edits
docs/framework/data/adonet/sql/handling-null-values.md Clarify metadata for existing shared SqlTypes null handling. Small follow-on changes
docs/framework/data/adonet/sql/index.md Rewrite provider recommendations and retain Framework integration exceptions. Major edits
docs/framework/data/adonet/sql/inserting-an-image-from-a-file.md Add required package/imports and repair the C# method body. Major edits
docs/framework/data/adonet/sql/large-udts.md Preserve server CLR types; repair connection construction, command binding, and reader closure. Major edits
docs/framework/data/adonet/sql/manipulating-data.md Replace provider imports/API references; correct the invalid VB MARS query declaration. Major edits
docs/framework/data/adonet/sql/modifying-large-value-max-data.md Update provider API references; correct VB byte-array casts and scalar string declarations. Major edits
docs/framework/data/adonet/sql/multiple-bulk-copy-operations.md Update provider API references; bulk-copy reuse guidance remains unchanged. Small follow-on changes
docs/framework/data/adonet/sql/polling-in-console-applications.md Remove unsupported async connection keywords and recommend awaited APIs. Major edits
docs/framework/data/adonet/sql/provider-statistics-for-sql-server.md Update provider naming, imports, and API references; statistics logic remains unchanged. Small follow-on changes
docs/framework/data/adonet/sql/query-notifications-in-sql-server.md Rework notification API choices and flag the retained ASP.NET cache-provider constraint. Major edits
docs/framework/data/adonet/sql/single-bulk-copy-operations.md Repair C#/VB command construction and C# server-file path literals. Major edits
docs/framework/data/adonet/sql/snapshot-isolation-in-sql-server.md Update transaction API references; isolation SQL and sample logic remain unchanged. Small follow-on changes
docs/framework/data/adonet/sql/specifying-xml-values-as-parameters.md Update provider imports and API references; XML parameter logic remains unchanged. Small follow-on changes
docs/framework/data/adonet/sql/sql-server-data-operations.md Define client package/version prerequisites and provider-independent type boundaries. Major edits
docs/framework/data/adonet/sql/sql-server-data-types.md Update client prerequisites while preserving shared SQL value types and parameter type mappings. Major edits
docs/framework/data/adonet/sql/sql-server-express-user-instances.md Add Windows scope, local certificate-trust limits, and the SQL CLR provider exception. Major edits
docs/framework/data/adonet/sql/sql-server-features-and-adonet.md Separate standalone client migration from in-process CLR provider/type requirements. Major edits
docs/framework/data/adonet/sql/sql-xml-column-values.md Update reader/command API references; XML retrieval logic remains unchanged. Small follow-on changes
docs/framework/data/adonet/sql/sqlclient-support-for-high-availability-disaster-recovery.md Change MultiSubnetFailover guidance and replace the blanket distributed-transaction restriction. Major edits
docs/framework/data/adonet/sql/sqlclient-support-for-localdb.md Replace Framework configuration with instance commands; specify authentication and certificate-trust limits. Major edits
docs/framework/data/adonet/sql/sqlcommand-execution-with-a-sqlnotificationrequest.md Correct UserData/Options APIs and distinguish the Service Broker service from its queue. Major edits
docs/framework/data/adonet/sql/sqltypes-and-the-dataset.md Specify client-package prerequisites without moving shared SqlTypes or DataTable types. Major edits
docs/framework/data/adonet/sql/table-valued-parameters.md Use client record/metadata types while preserving server CLR distinctions; correct a missing C# assignment semicolon. Major edits
docs/framework/data/adonet/sql/the-context-connection.md Add an IMPORTANT new-development recommendation with the required in-process CLR exception. Major edits
docs/framework/data/adonet/sql/transaction-and-bulk-copy-operations.md Update provider API references; transaction guidance and sample logic remain unchanged. Small follow-on changes
docs/framework/data/adonet/sql/windows-applications-using-callbacks.md Remove unsupported async keywords, recommend awaited handlers, and repair callback error text. Major edits
samples/snippets/csharp/VS_Snippets_ADO.NET/DataWorks BulkCopy.Single/CS/Project.csproj Switch the provider package to Microsoft.Data.SqlClient 7.1.1 and pin Pkcs 10.0.13. Major edits
samples/snippets/csharp/VS_Snippets_ADO.NET/DataWorks BulkCopy.Single/CS/source.cs Replace provider imports; existing sample operations are unchanged. Small follow-on changes
samples/snippets/csharp/VS_Snippets_ADO.NET/DataWorks LargeValueType.Param/CS/Project.csproj Switch the provider package to Microsoft.Data.SqlClient 7.1.1 and pin Pkcs 10.0.13. Major edits
samples/snippets/csharp/VS_Snippets_ADO.NET/DataWorks LargeValueType.Param/CS/source.cs Replace provider imports; existing sample operations are unchanged. Small follow-on changes
samples/snippets/csharp/VS_Snippets_ADO.NET/DataWorks LargeValueType.Photo/CS/Project.csproj Switch the provider package to Microsoft.Data.SqlClient 7.1.1 and pin Pkcs 10.0.13. Major edits
samples/snippets/csharp/VS_Snippets_ADO.NET/DataWorks LargeValueType.Photo/CS/source.cs Replace provider imports; existing sample operations are unchanged. Small follow-on changes
samples/snippets/csharp/VS_Snippets_ADO.NET/DataWorks SnapshotIsolation.Demo/CS/Project.csproj Switch the provider package to Microsoft.Data.SqlClient 7.1.1 and pin Pkcs 10.0.13. Major edits
samples/snippets/csharp/VS_Snippets_ADO.NET/DataWorks SnapshotIsolation.Demo/CS/source.cs Replace provider imports; dispose all readers before transaction commits in the snapshot demonstration. Major edits
samples/snippets/csharp/VS_Snippets_ADO.NET/DataWorks SnapshotIsolation.DemoUpdate/CS/Project.csproj Switch the provider package to Microsoft.Data.SqlClient 7.1.1 and pin Pkcs 10.0.13. Major edits
samples/snippets/csharp/VS_Snippets_ADO.NET/DataWorks SnapshotIsolation.DemoUpdate/CS/source.cs Replace provider imports; existing sample operations are unchanged. Small follow-on changes
samples/snippets/csharp/VS_Snippets_ADO.NET/DataWorks SqlBulkCopy.ColumnMappingOrdersDetails/CS/Project.csproj Switch the provider package to Microsoft.Data.SqlClient 7.1.1 and pin Pkcs 10.0.13. Major edits
samples/snippets/csharp/VS_Snippets_ADO.NET/DataWorks SqlBulkCopy.ColumnMappingOrdersDetails/CS/source.cs Replace provider imports; existing sample operations are unchanged. Small follow-on changes
samples/snippets/csharp/VS_Snippets_ADO.NET/DataWorks SqlBulkCopy.DefaultTransaction/CS/Project.csproj Switch the provider package to Microsoft.Data.SqlClient 7.1.1 and pin Pkcs 10.0.13. Major edits
samples/snippets/csharp/VS_Snippets_ADO.NET/DataWorks SqlBulkCopy.DefaultTransaction/CS/source.cs Replace provider imports; existing sample operations are unchanged. Small follow-on changes
samples/snippets/csharp/VS_Snippets_ADO.NET/DataWorks SqlBulkCopy.InternalTransaction/CS/Project.csproj Switch the provider package to Microsoft.Data.SqlClient 7.1.1 and pin Pkcs 10.0.13. Major edits
samples/snippets/csharp/VS_Snippets_ADO.NET/DataWorks SqlBulkCopy.InternalTransaction/CS/source.cs Replace provider imports; existing sample operations are unchanged. Small follow-on changes
samples/snippets/csharp/VS_Snippets_ADO.NET/DataWorks SqlBulkCopy.SqlTransaction/CS/Project.csproj Switch the provider package to Microsoft.Data.SqlClient 7.1.1 and pin Pkcs 10.0.13. Major edits
samples/snippets/csharp/VS_Snippets_ADO.NET/DataWorks SqlBulkCopy.SqlTransaction/CS/source.cs Replace provider imports; existing sample operations are unchanged. Small follow-on changes
samples/snippets/csharp/VS_Snippets_ADO.NET/DataWorks SqlClient.GetXmlDataReader/CS/Project.csproj Switch the provider package to Microsoft.Data.SqlClient 7.1.1 and pin Pkcs 10.0.13. Major edits
samples/snippets/csharp/VS_Snippets_ADO.NET/DataWorks SqlClient.GetXmlDataReader/CS/source.cs Replace provider imports and matching displayed import comments; XML logic is unchanged. Small follow-on changes
samples/snippets/csharp/VS_Snippets_ADO.NET/DataWorks SqlNotification.Perms/CS/Project.csproj Keep code access security on net48; remove modern provider/permissions packages. Major edits
samples/snippets/csharp/VS_Snippets_ADO.NET/DataWorks SqlTypes.CompareNulls/CS/Project.csproj Remove an unused provider package from an unchanged SqlTypes example. Small follow-on changes
samples/snippets/csharp/VS_Snippets_ADO.NET/DataWorks SqlTypes.GetTypeAW/CS/Project.csproj Switch the provider package to Microsoft.Data.SqlClient 7.1.1 and pin Pkcs 10.0.13. Major edits
samples/snippets/csharp/VS_Snippets_ADO.NET/DataWorks SqlTypes.GetTypeAW/CS/source.cs Replace provider imports; existing sample operations are unchanged. Small follow-on changes
samples/snippets/csharp/VS_Snippets_ADO.NET/DataWorks SqlTypes.Guid/CS/Project.csproj Remove an unused provider package from an unchanged SqlTypes example. Small follow-on changes
samples/snippets/csharp/VS_Snippets_ADO.NET/DataWorks SqlTypes.IsNull/CS/Project.csproj Remove an unused provider package from an unchanged SqlTypes example. Small follow-on changes
samples/snippets/visualbasic/VS_Snippets_ADO.NET/DataWorks BulkCopy.Single/VB/Project.vbproj Switch the provider package to Microsoft.Data.SqlClient 7.1.1 and pin Pkcs 10.0.13. Major edits
samples/snippets/visualbasic/VS_Snippets_ADO.NET/DataWorks BulkCopy.Single/VB/source.vb Replace provider imports; existing sample operations are unchanged. Small follow-on changes
samples/snippets/visualbasic/VS_Snippets_ADO.NET/DataWorks LargeValueType.Param/VB/Project.vbproj Switch the provider package to Microsoft.Data.SqlClient 7.1.1 and pin Pkcs 10.0.13. Major edits
samples/snippets/visualbasic/VS_Snippets_ADO.NET/DataWorks LargeValueType.Param/VB/source.vb Replace provider imports; existing sample operations are unchanged. Small follow-on changes
samples/snippets/visualbasic/VS_Snippets_ADO.NET/DataWorks LargeValueType.Photo/VB/Project.vbproj Switch the provider package to Microsoft.Data.SqlClient 7.1.1 and pin Pkcs 10.0.13. Major edits
samples/snippets/visualbasic/VS_Snippets_ADO.NET/DataWorks LargeValueType.Photo/VB/source.vb Replace provider imports; existing sample operations are unchanged. Small follow-on changes
samples/snippets/visualbasic/VS_Snippets_ADO.NET/DataWorks SnapshotIsolation.Demo/VB/Project.vbproj Switch the provider package to Microsoft.Data.SqlClient 7.1.1 and pin Pkcs 10.0.13. Major edits
samples/snippets/visualbasic/VS_Snippets_ADO.NET/DataWorks SnapshotIsolation.Demo/VB/source.vb Replace provider imports; dispose all readers before transaction commits in the snapshot demonstration. Major edits
samples/snippets/visualbasic/VS_Snippets_ADO.NET/DataWorks SnapshotIsolation.DemoUpdate/VB/Project.vbproj Switch the provider package to Microsoft.Data.SqlClient 7.1.1 and pin Pkcs 10.0.13. Major edits
samples/snippets/visualbasic/VS_Snippets_ADO.NET/DataWorks SnapshotIsolation.DemoUpdate/VB/source.vb Replace provider imports; existing sample operations are unchanged. Small follow-on changes
samples/snippets/visualbasic/VS_Snippets_ADO.NET/DataWorks SqlBulkCopy.ColumnMappingOrdersDetails/VB/Project.vbproj Switch the provider package to Microsoft.Data.SqlClient 7.1.1 and pin Pkcs 10.0.13. Major edits
samples/snippets/visualbasic/VS_Snippets_ADO.NET/DataWorks SqlBulkCopy.ColumnMappingOrdersDetails/VB/source.vb Replace provider imports; existing sample operations are unchanged. Small follow-on changes
samples/snippets/visualbasic/VS_Snippets_ADO.NET/DataWorks SqlBulkCopy.DefaultTransaction/VB/Project.vbproj Switch the provider package to Microsoft.Data.SqlClient 7.1.1 and pin Pkcs 10.0.13. Major edits
samples/snippets/visualbasic/VS_Snippets_ADO.NET/DataWorks SqlBulkCopy.DefaultTransaction/VB/source.vb Replace provider imports; existing sample operations are unchanged. Small follow-on changes
samples/snippets/visualbasic/VS_Snippets_ADO.NET/DataWorks SqlBulkCopy.InternalTransaction/VB/Project.vbproj Switch the provider package to Microsoft.Data.SqlClient 7.1.1 and pin Pkcs 10.0.13. Major edits
samples/snippets/visualbasic/VS_Snippets_ADO.NET/DataWorks SqlBulkCopy.InternalTransaction/VB/source.vb Replace provider imports; existing sample operations are unchanged. Small follow-on changes
samples/snippets/visualbasic/VS_Snippets_ADO.NET/DataWorks SqlBulkCopy.SqlTransaction/VB/Project.vbproj Switch the provider package to Microsoft.Data.SqlClient 7.1.1 and pin Pkcs 10.0.13. Major edits
samples/snippets/visualbasic/VS_Snippets_ADO.NET/DataWorks SqlBulkCopy.SqlTransaction/VB/source.vb Replace provider imports; existing sample operations are unchanged. Small follow-on changes
samples/snippets/visualbasic/VS_Snippets_ADO.NET/DataWorks SqlClient.GetXmlDataReader/VB/Project.vbproj Switch the provider package to Microsoft.Data.SqlClient 7.1.1 and pin Pkcs 10.0.13. Major edits
samples/snippets/visualbasic/VS_Snippets_ADO.NET/DataWorks SqlClient.GetXmlDataReader/VB/source.vb Replace provider imports and matching displayed import comments; XML logic is unchanged. Small follow-on changes
samples/snippets/visualbasic/VS_Snippets_ADO.NET/DataWorks SqlNotification.Perms/VB/Project.vbproj Add a net48 project for the existing Framework-only permissions sample. Major edits
samples/snippets/visualbasic/VS_Snippets_ADO.NET/DataWorks SqlTypes.GetTypeAW/VB/Project.vbproj Switch the provider package to Microsoft.Data.SqlClient 7.1.1 and pin Pkcs 10.0.13. Major edits
samples/snippets/visualbasic/VS_Snippets_ADO.NET/DataWorks SqlTypes.GetTypeAW/VB/source.vb Replace provider imports; existing sample operations are unchanged. Small follow-on changes
samples/snippets/visualbasic/VS_Snippets_ADO.NET/DataWorks SqlTypes.IsNull/VB/Project.vbproj Add a net10.0 project for existing provider-independent SqlTypes code. Small follow-on changes
samples/snippets/visualbasic/VS_Snippets_ADO.NET/DataWorks SqlTypes.IsNull/VB/source.vb Remove an unused provider import; null-handling logic is unchanged. Small follow-on changes

Local validation

I ran these checks in this isolated topic worktree on Windows build 26300 with .NET SDK 10.0.402. These are build/static checks, not runtime validation of SQL feature scenarios.

Command Result
git apply --check <export-patch> followed by git apply <export-patch> Passed against the recorded base.
python <export-directory>\check-topic.py adonet-sql-features Passed: exact 89-file manifest, patch SHA256, and every normalized source SHA256.
dotnet build "<project>" --nologo --verbosity quiet -warnaserror:NU1901,NU1902,NU1903,NU1904 -p:RestoreSources=https://packagefeedproxy.microsoft.io/nuget/v3/index.json for each project listed next All 28 passed with zero warnings and zero errors. Package audits remained enabled.
npx --yes markdownlint-cli2 @md, with all 38 changed Markdown paths in @md Passed with repository .markdownlint-cli2.jsonc: 38 files, zero issues. CLI 0.23.3, markdownlint 0.41.1.
git diff --check and git diff --cached --check Passed.
git fetch origin main and git rebase origin/main Passed; branch already up to date.

Project paths are under samples/snippets/csharp/VS_Snippets_ADO.NET/<name>/CS/Project.csproj and samples/snippets/visualbasic/VS_Snippets_ADO.NET/<name>/VB/Project.vbproj.

Project name C# build VB build
DataWorks BulkCopy.Single Passed Passed
DataWorks LargeValueType.Param Passed Passed
DataWorks LargeValueType.Photo Passed Passed
DataWorks SnapshotIsolation.Demo Passed Passed
DataWorks SnapshotIsolation.DemoUpdate Passed Passed
DataWorks SqlBulkCopy.ColumnMappingOrdersDetails Passed Passed
DataWorks SqlBulkCopy.DefaultTransaction Passed Passed
DataWorks SqlBulkCopy.InternalTransaction Passed Passed
DataWorks SqlBulkCopy.SqlTransaction Passed Passed
DataWorks SqlClient.GetXmlDataReader Passed Passed
DataWorks SqlNotification.Perms Passed Passed
DataWorks SqlTypes.CompareNulls Passed Not in partition
DataWorks SqlTypes.GetTypeAW Passed Passed
DataWorks SqlTypes.Guid Passed Not in partition
DataWorks SqlTypes.IsNull Passed Passed

I read the isolated article/source/project diff, including both new project files. Exact export hashes prevent drift from the reviewed source.

Prior review and coordinating-session evidence

The coordinating session reported separate hostile static review of the full 286-file migration and Randolph review of all 99 Markdown files before topic splitting. The hostile review found no significant issues. Randolph findings were corrected, and all 99 articles passed lint afterward; the Randolph reviewer did not re-review the fixes. I did not commission new reviewers.

The coordinating session also reported Windows builds of all 105 migration projects and live adapter CRUD, factory, reader, scalar identity, and local transaction assertions on Windows and Linux. Those results came from the coordinating session, not this isolated run, and do not validate feature examples in this PR. Reflection execution under .NET 10 does not establish execution under each original target framework.

The parent's runtime environment was Windows build 26300, SDK 10.0.402/runtime 10.0.13, and Ubuntu 26.04.1 with SDKs 10.0.401/8.0.425 and runtimes 10.0.12/8.0.31. The parent reported Microsoft.Data.SqlClient 7.1.1 against SQL Server 17.0.5015.4, Enterprise Edition: Core-based Licensing (64-bit), EngineEdition=3, with SQL authentication, mandatory encryption, and a lab-only certificate trust exception. No SQL fixture was rerun for this PR.

Untested scenarios and limitations

SQL feature scenarios in this partition were not executed: bulk copy, XML/large-value and image operations, snapshot-isolation configuration/concurrency, table-valued parameters, MARS, provider statistics, asynchronous callback/wait/polling flows, Service Broker/query notifications, FILESTREAM, UDT/SQL CLR deployment and context connections, discovery, mirroring/failover, LocalDB, and SQL Server Express user instances. Inline article examples are not covered by the 28 project builds.

There is no macOS coverage. This isolated run built the 28 projects on Windows only; it does not claim Linux builds or runtime coverage for this partition. Integrated authentication, Microsoft Entra ID, production certificate configuration, cloud databases, ASP.NET hosting/cache integration, and Windows UI callbacks remain untested. Parent distributed-transaction attempts were blocked by disabled MSDTC network access on Windows and rejected on Linux, not successful distributed commits.

Content attribution

Existing migration prose and code are adapted from this repository, not copied from an external announcement. New provider prerequisite/correctness guidance and inline example corrections are AI-assisted. The two VB project files are newly generated build scaffolding around existing source. No new article is described as entirely AI-generated. Product experts still need to review generated guidance and unexecuted platform/feature scenarios.

Related context

Originating guidance: ADO.NET code examples: SqlClient.

No linked issue. This PR is the adonet-sql-features partition of the approved topic split.


Internal previews

Toggle expand/collapse
File Preview link
docs/framework/data/adonet/sql/aspnet-apps-using-wait-handles.md Learn preview
docs/framework/data/adonet/sql/asynchronous-operations.md Learn preview
docs/framework/data/adonet/sql/bulk-copy-example-setup.md Learn preview
docs/framework/data/adonet/sql/bulk-copy-operations-in-sql-server.md Learn preview
docs/framework/data/adonet/sql/comparing-guid-and-uniqueidentifier-values.md Learn preview
docs/framework/data/adonet/sql/database-mirroring-in-sql-server.md Learn preview
docs/framework/data/adonet/sql/date-and-time-data.md Learn preview
docs/framework/data/adonet/sql/detecting-changes-with-sqldependency.md Learn preview
docs/framework/data/adonet/sql/enabling-multiple-active-result-sets.md Learn preview
docs/framework/data/adonet/sql/enabling-query-notifications.md Learn preview
docs/framework/data/adonet/sql/enumerating-instances-of-sql-server.md Learn preview
docs/framework/data/adonet/sql/filestream-data.md Learn preview
docs/framework/data/adonet/sql/handling-null-values.md Learn preview
docs/framework/data/adonet/sql/index.md Learn preview
docs/framework/data/adonet/sql/inserting-an-image-from-a-file.md Learn preview
docs/framework/data/adonet/sql/large-udts.md Learn preview
docs/framework/data/adonet/sql/manipulating-data.md Learn preview
docs/framework/data/adonet/sql/modifying-large-value-max-data.md Learn preview
docs/framework/data/adonet/sql/multiple-bulk-copy-operations.md Learn preview
docs/framework/data/adonet/sql/polling-in-console-applications.md Learn preview
docs/framework/data/adonet/sql/provider-statistics-for-sql-server.md Learn preview
docs/framework/data/adonet/sql/query-notifications-in-sql-server.md Learn preview
docs/framework/data/adonet/sql/single-bulk-copy-operations.md Learn preview
docs/framework/data/adonet/sql/snapshot-isolation-in-sql-server.md Learn preview
docs/framework/data/adonet/sql/specifying-xml-values-as-parameters.md Learn preview
docs/framework/data/adonet/sql/sql-server-data-operations.md Learn preview
docs/framework/data/adonet/sql/sql-server-data-types.md Learn preview
docs/framework/data/adonet/sql/sql-server-express-user-instances.md Learn preview
docs/framework/data/adonet/sql/sql-server-features-and-adonet.md Learn preview
docs/framework/data/adonet/sql/sql-xml-column-values.md Learn preview
docs/framework/data/adonet/sql/sqlclient-support-for-high-availability-disaster-recovery.md Learn preview
docs/framework/data/adonet/sql/sqlclient-support-for-localdb.md Learn preview
docs/framework/data/adonet/sql/sqlcommand-execution-with-a-sqlnotificationrequest.md Learn preview
docs/framework/data/adonet/sql/sqltypes-and-the-dataset.md Learn preview
docs/framework/data/adonet/sql/table-valued-parameters.md Learn preview
docs/framework/data/adonet/sql/the-context-connection.md Learn preview
docs/framework/data/adonet/sql/transaction-and-bulk-copy-operations.md Learn preview
docs/framework/data/adonet/sql/windows-applications-using-callbacks.md Learn preview
[samples/snippets/csharp/VS_Snippets_ADO.NET/DataWorks BulkCopy.Single/CS/source.cs](https://github.com/dotnet/docs/blob/b8bb3de3b93415c98690e21d420c324dc962cba7/samples/snippets/csharp/VS_Snippets_ADO.NET/DataWorks BulkCopy.Single/CS/source.cs) Learn preview
[samples/snippets/csharp/VS_Snippets_ADO.NET/DataWorks LargeValueType.Param/CS/source.cs](https://github.com/dotnet/docs/blob/b8bb3de3b93415c98690e21d420c324dc962cba7/samples/snippets/csharp/VS_Snippets_ADO.NET/DataWorks LargeValueType.Param/CS/source.cs) Learn preview
[samples/snippets/csharp/VS_Snippets_ADO.NET/DataWorks LargeValueType.Photo/CS/source.cs](https://github.com/dotnet/docs/blob/b8bb3de3b93415c98690e21d420c324dc962cba7/samples/snippets/csharp/VS_Snippets_ADO.NET/DataWorks LargeValueType.Photo/CS/source.cs) Learn preview
[samples/snippets/csharp/VS_Snippets_ADO.NET/DataWorks SnapshotIsolation.Demo/CS/source.cs](https://github.com/dotnet/docs/blob/b8bb3de3b93415c98690e21d420c324dc962cba7/samples/snippets/csharp/VS_Snippets_ADO.NET/DataWorks SnapshotIsolation.Demo/CS/source.cs) Learn preview
[samples/snippets/csharp/VS_Snippets_ADO.NET/DataWorks SnapshotIsolation.DemoUpdate/CS/source.cs](https://github.com/dotnet/docs/blob/b8bb3de3b93415c98690e21d420c324dc962cba7/samples/snippets/csharp/VS_Snippets_ADO.NET/DataWorks SnapshotIsolation.DemoUpdate/CS/source.cs) Learn preview
[samples/snippets/csharp/VS_Snippets_ADO.NET/DataWorks SqlBulkCopy.ColumnMappingOrdersDetails/CS/source.cs](https://github.com/dotnet/docs/blob/b8bb3de3b93415c98690e21d420c324dc962cba7/samples/snippets/csharp/VS_Snippets_ADO.NET/DataWorks SqlBulkCopy.ColumnMappingOrdersDetails/CS/source.cs) Learn preview
[samples/snippets/csharp/VS_Snippets_ADO.NET/DataWorks SqlBulkCopy.DefaultTransaction/CS/source.cs](https://github.com/dotnet/docs/blob/b8bb3de3b93415c98690e21d420c324dc962cba7/samples/snippets/csharp/VS_Snippets_ADO.NET/DataWorks SqlBulkCopy.DefaultTransaction/CS/source.cs) Learn preview
[samples/snippets/csharp/VS_Snippets_ADO.NET/DataWorks SqlBulkCopy.InternalTransaction/CS/source.cs](https://github.com/dotnet/docs/blob/b8bb3de3b93415c98690e21d420c324dc962cba7/samples/snippets/csharp/VS_Snippets_ADO.NET/DataWorks SqlBulkCopy.InternalTransaction/CS/source.cs) Learn preview
[samples/snippets/csharp/VS_Snippets_ADO.NET/DataWorks SqlBulkCopy.SqlTransaction/CS/source.cs](https://github.com/dotnet/docs/blob/b8bb3de3b93415c98690e21d420c324dc962cba7/samples/snippets/csharp/VS_Snippets_ADO.NET/DataWorks SqlBulkCopy.SqlTransaction/CS/source.cs) Learn preview
[samples/snippets/csharp/VS_Snippets_ADO.NET/DataWorks SqlClient.GetXmlDataReader/CS/source.cs](https://github.com/dotnet/docs/blob/b8bb3de3b93415c98690e21d420c324dc962cba7/samples/snippets/csharp/VS_Snippets_ADO.NET/DataWorks SqlClient.GetXmlDataReader/CS/source.cs) Learn preview
[samples/snippets/csharp/VS_Snippets_ADO.NET/DataWorks SqlTypes.GetTypeAW/CS/source.cs](https://github.com/dotnet/docs/blob/b8bb3de3b93415c98690e21d420c324dc962cba7/samples/snippets/csharp/VS_Snippets_ADO.NET/DataWorks SqlTypes.GetTypeAW/CS/source.cs) Learn preview
[samples/snippets/visualbasic/VS_Snippets_ADO.NET/DataWorks BulkCopy.Single/VB/source.vb](https://github.com/dotnet/docs/blob/b8bb3de3b93415c98690e21d420c324dc962cba7/samples/snippets/visualbasic/VS_Snippets_ADO.NET/DataWorks BulkCopy.Single/VB/source.vb) Learn preview

Note

This table shows the first 50 preview links (sorted alphabetically by file path) found in the OPS build report. For the full list, select OpenPublishing.Build Details within checks.

Build report

Retained-provider guidance follow-up

Commit dfbaeb4a10cc8dd230c119d953658933db54999b adds targeted IMPORTANT alerts to the-context-connection.md, enabling-query-notifications.md, and query-notifications-in-sql-server.md. The alerts recommend Microsoft.Data.SqlClient for new development and explain the SQL CLR context-connection and ASP.NET SqlCacheDependency exceptions. These pages display no retained System.Data.SqlClient code, so no code comments or samples were added. Existing migrated examples and coverage notes are unchanged.

npx --yes markdownlint-cli2 docs\framework\data\adonet\sql\the-context-connection.md docs\framework\data\adonet\sql\enabling-query-notifications.md docs\framework\data\adonet\sql\query-notifications-in-sql-server.md passed: three files, zero issues. git diff --check passed. No executable code changed; no build or SQL rerun was needed for this follow-up.

Live-SQL validation and repairs

Current head: b8bb3de3b93415c98690e21d420c324dc962cba7. The scope remains 89 files and 28 projects. The live-SQL merge gate is not met. The earlier validation and limitation sections remain unchanged as publication history; the results here supersede only the cases actually executed.

Environment Ordinary SQL cases passed Snapshot cases passed on actual .NET 8 Local-only SqlTypes entrypoints passed
Windows 10.0.26300, .NET 10.0.13; Framework UI workers use CLR 4.0.30319.42000 87 8 on .NET 8.0.32 6
Ubuntu 26.04.1 LTS, .NET 10.0.12 79 Not run; paused 6
Native macOS 27.0.1, .NET 10.0.12 79 Not run; paused 6

Ordinary Windows cases comprise 18 source methods/entrypoints, 48 C#/VB inline fragments, six Framework UI cases, 10 original SQL fragments, and five notification/setup records. Linux/macOS each comprise 16 portable source cases, 48 inline fragments, 10 SQL fragments, and five notification/setup records. These counts exclude duplicate attempts, local-only types/CAS, and discovery. The ordinary net8.0 source libraries ran inside the stated .NET 10 hosts; those results do not claim native .NET 8 execution. The VB XML project is a library with no Main; its actual GetXmlData method ran live.

All three platforms measured the same backend: database test1, SQL Server Enterprise Edition: Core-based Licensing (64-bit), EngineEdition 3, version 17.0.5015.4. Driver: Microsoft.Data.SqlClient 7.1.1, commit 29ce2d856cb5a9450f79ea62c0afc744fd337fde. Fresh TCP checks preceded runs, with 45-second login timeouts. Harness connections used SQL authentication, mandatory encryption, and an explicit test-certificate trust override; published authentication/certificate guidance was unchanged. Linux connected directly. macOS used an owned loopback-only reverse SSH forward, 127.0.0.1:15462 through Windows to the same 10.0.0.6:1433. Only scratch endpoint configuration changed. The forward was stopped; a direct socket check confirmed listener removal.

Actual assertions cover bulk-copy values and transaction rollback/failure paths; MAX output and binary values; Windows image/null/missing-row branches; XML row/child values; SqlTypes; date/time values and inferred types; MARS readers/updates; polling results; statistics; both TVP columns/rows through DataTable and reader inputs; real Framework Page/Form execution; and actual notification Update/Change events plus Service Broker notification XML. Original SQL fragments ran with recorded unique-fixture substitutions. No generic adapter or parser test substitutes for these feature results.

Live execution exposed the six article repairs in 67cc1e3: date/time enum/literals/inference and VB syntax, a VB MARS declaration, VB MAX casts/types, a C# TVP assignment, repeated WaitAny completion, and explicit-queue SqlDependency options. Commit b8bb3de adds paired snapshot reader scopes before transaction commits and documents the discovery platform constraint. The first snapshot attempt ran under .NET 10 and failed in both Demo entrypoints with open readers; that failure remains preserved. No claim attributes the defect to the migration without baseline proof.

The repaired Windows snapshot run used an actual .NET 8.0.32 control and net8.0 source/fragment assemblies: four source entrypoints, two transaction fragments, and two SQL fragments passed. Assertions observed snapshot value 1, the expected four-second locking timeout, dirty value 22, and update-conflict error 3960. First mutation: 2026-10-20 20:20:20 UTC. OFF/OFF restoration: 20:20:56 UTC. Final read-only master audit at 20:21:39 UTC confirmed OFF/OFF, all 15 owned cross-platform fixture names absent, zero other owned sessions, and the audit control closed. No forced disconnections or unrelated configuration changes were performed by this session.

Outstanding snapshot matrix: Linux and macOS .NET 8.0.31 controls and all six hosts compiled; runtime-only banners proved actual .NET 8 startup without SQL. Neither portable snapshot phase started. The coordinator paused renewed GO after the user reported external MSDTC changes with unknown settings/timing. The window remains held pending reconciliation. No DTC change or reversal was performed by this session.

Discovery accessor fragments passed on all three platforms. Four Windows native discovery calls returned zero rows; four calls on each portable OS threw NotImplementedException. The loaded driver's managed helper explicitly throws, and non-Windows always selects that helper. The article now states the native-Windows constraint. Managed-Windows behavior is source-verified, not independently run. These results do not prove SQL Browser visibility or discovered-instance connectivity.

Other untested scenarios: FILESTREAM still needs a feature-enabled Windows-auth environment. Actual Oracle-source TVPs, large CLR UDT deployment, server-local BULK files, SQL Express user-instance/LocalDB lifecycle, mirroring failover, and permission/configuration-changing examples remain untested. Integrated/Entra authentication, production certificate configuration, HTTP/IIS lifecycle, and interactive UI behavior remain outside the executed paths.

The exact source/region hashes, mechanical substitutions, fixtures, assertions, runtime identities, failures, and cleanup receipts are retained in live-coverage-ledger.json and its referenced result/plan artifacts. Six provider-independent examples passed locally on each OS; these are not live-SQL coverage. Historical Framework CAS runs likewise remain local-only evidence.

Local checks: both corrected original net8.0 projects and all affected snapshot hosts compiled. From docs\framework\data\adonet\sql, npx --yes markdownlint-cli2 --config <repository-config> aspnet-apps-using-wait-handles.md date-and-time-data.md detecting-changes-with-sqldependency.md manipulating-data.md modifying-large-value-max-data.md table-valued-parameters.md enumerating-instances-of-sql-server.md passed with seven files and zero issues. git diff --check passed. Original 28-project build evidence remains preserved.

The completed OpenPublishing.Build report for b8bb3de was inspected: 0 errors, 0 warnings, 10 pre-existing docs-link-absolute suggestions, 0 owned-path findings, and 0 introduced findings. Every suggestion matches the earlier report's severity, code, path, and message.

Portable snapshot validation closure

The required native .NET 8 snapshot matrix now passes on Windows, Linux, and macOS. Current head remains b8bb3de3b93415c98690e21d420c324dc962cba7; no further published-source repair was needed. The earlier paused snapshot results above are preserved as history and are superseded by these two actual portable runs.

Environment Ordinary SQL cases passed Native .NET 8 snapshot cases passed Combined successful SQL cases
Windows 87 8 on .NET 8.0.32 95
Ubuntu 26.04.1 LTS, x64 79 8 on .NET 8.0.31 87
Native macOS, Darwin 27, Arm64 79 8 on .NET 8.0.31 87

Linux and macOS each executed four actual C#/VB source entrypoints, two exact transaction fragments, and two SQL fragments. Both observed the original committed value 1, the intentional four-second locking timeout, dirty value 22, and the expected update-conflict error 3960. Eight records passed on each platform, with zero failures. The six local-only SqlTypes entrypoints per OS remain separate from these SQL counts. Ordinary net8.0 assemblies hosted under .NET 10 remain distinct from the native .NET 8 snapshot executions.

The coordinator released only the pinned two-platform window. GO receipt: 2026-10-21 02:26:20 UTC; no new platform admission after 03:11:20 UTC. Linux mutation began at 02:26:21 UTC; OFF/OFF restoration completed at 02:26:41 UTC; its independent Windows read-only master audit passed at 02:26:56 UTC before macOS began. macOS mutation began at 02:28:21 UTC; restoration completed at 02:29:28 UTC; its final independent audit passed at 02:29:57 UTC.

Both platforms confirmed VIEW SERVER PERFORMANCE STATE permission and checked conflicting sessions, requests, and transactions. The ordinary test1 application lock was acquired/released only during the baseline, and that control closed before database transitions. It was not held across transitions. Exclusion came from the coordinated no-new-starts barrier plus a distinct master-scoped snapshot-owner lock held through restoration and cleanup. Both runs verified original and final OFF/OFF, all 15 owned fixture names absent, zero conflicting sessions, successful lock release, closed master controls, and process exit zero. Independent audits also confirmed OFF/OFF, fixture absence, zero owned sessions, and closed audit controls.

Both measured SQL Server Enterprise Edition: Core-based Licensing (64-bit), EngineEdition 3, version 17.0.5015.4, with Microsoft.Data.SqlClient 7.1.1 at commit 29ce2d856cb5a9450f79ea62c0afc744fd337fde. Linux connected directly to the original target. macOS used only the owned loopback reverse SSH forward through Windows to that same backend. The listener was absent before launch, visible only on 127.0.0.1:15462 during the run, and absent after the owned tunnel stopped. Final direct socket check returned connection-refused code 61. Only scratch endpoint configuration changed; SQL authentication, mandatory encryption, and the disclosed lab-only certificate trust override stayed unchanged.

No accepted Windows/ordinary cases were rerun. No DTC change, forced disconnection, alternative target, or paid resource was used. The original .NET 10 failure, external-change pause, frozen source packet, and all raw receipts remain preserved. Source/assertion bodies and emergency restoration logic remained unchanged in the separately versioned lock/audit harness.

Disclosed exclusions remain untested: FILESTREAM's feature-enabled Windows-auth environment, Oracle-source TVPs, CLR UDT deployment, server-local bulk files, Express/LocalDB lifecycle, mirroring failover, SQL Browser-discovered connectivity, permission/configuration-changing examples, and the authentication/certificate/HTTP/IIS/interactive UI alternatives listed above. These are not executed cases and are not automatically merge blockers. No confirmed unfixed current-head defect is identified.

Current-head CI remains passing, with auto-merge skipped. The actual completed publishing report remains 0 errors, 0 warnings, 10 pre-existing suggestions, and 0 introduced findings. No source changed after that build. The review guide still contains exactly 89 paths: 53 Major edits and 36 Small follow-on changes. All 28 original project-build results remain recorded; the new scratch guard also built with zero warnings/errors on Windows, Linux, and macOS.

Raw evidence: snapshot-portable-03-results.json, SHA256 66db3c2c86431c7d624b737dc88b0a4503507ae62777577473a619edd3b1dc66. This binds both raw journals/logs, both independent final audits, the GO receipt, and tunnel receipts. The coverage ledger retains all 186 inventory records and exact source/region hashes.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 6dfd2f04-cfd0-46a2-bc43-926abd556840
Copilot AI balanced review requested due to automatic review settings October 19, 2026 22:20
@dotnetrepoman dotnetrepoman Bot added this to the October 2026 milestone Oct 19, 2026
@dotnet-policy-service dotnet-policy-service Bot added dotnet-framework/svc data-access/subsvc community-contribution Indicates PR is created by someone from the .NET community. labels Oct 19, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

Reported builds don't validate the broad migration's unexecuted SQL feature and platform-integration scenarios, which need product-expert review.

No open issues 🎉

What changed in this PR

Modernizes SQL Server feature documentation and samples to use Microsoft.Data.SqlClient, while preserving provider-independent types and required .NET Framework integrations.

Changes:

  • Updates client imports, API references, and package dependencies.
  • Clarifies asynchronous operations, notification permissions, LocalDB configuration, encryption, and provider boundaries.
  • Adds two Visual Basic projects and corrects affected inline examples.
File Description
samples/​snippets/​visualbasic/​VS_Snippets_ADO.NET/​DataWorks SqlTypes.IsNull/​VB/​source.vb Removes unused client import.
samples/​snippets/​visualbasic/​VS_Snippets_ADO.NET/​DataWorks SqlTypes.IsNull/​VB/​Project.vbproj Adds provider-independent .NET 10 project.
samples/​snippets/​visualbasic/​VS_Snippets_ADO.NET/​DataWorks SqlTypes.GetTypeAW/​VB/​source.vb Migrates client import.
samples/​snippets/​visualbasic/​VS_Snippets_ADO.NET/​DataWorks SqlTypes.GetTypeAW/​VB/​Project.vbproj Updates client and cryptography dependencies.
samples/​snippets/​visualbasic/​VS_Snippets_ADO.NET/​DataWorks SqlNotification.Perms/​VB/​Project.vbproj Adds Framework-only permissions project.
samples/​snippets/​visualbasic/​VS_Snippets_ADO.NET/​DataWorks SqlClient.GetXmlDataReader/​VB/​source.vb Migrates XML sample client import.
samples/​snippets/​visualbasic/​VS_Snippets_ADO.NET/​DataWorks SqlClient.GetXmlDataReader/​VB/​Project.vbproj Updates client and cryptography dependencies.
samples/​snippets/​visualbasic/​VS_Snippets_ADO.NET/​DataWorks SqlBulkCopy.SqlTransaction/​VB/​source.vb Migrates transactional bulk-copy import.
samples/​snippets/​visualbasic/​VS_Snippets_ADO.NET/​DataWorks SqlBulkCopy.SqlTransaction/​VB/​Project.vbproj Updates client and cryptography dependencies.
samples/​snippets/​visualbasic/​VS_Snippets_ADO.NET/​DataWorks SqlBulkCopy.InternalTransaction/​VB/​source.vb Migrates bulk-copy client import.
samples/​snippets/​visualbasic/​VS_Snippets_ADO.NET/​DataWorks SqlBulkCopy.InternalTransaction/​VB/​Project.vbproj Updates client and cryptography dependencies.
samples/​snippets/​visualbasic/​VS_Snippets_ADO.NET/​DataWorks SqlBulkCopy.DefaultTransaction/​VB/​source.vb Migrates bulk-copy client import.
samples/​snippets/​visualbasic/​VS_Snippets_ADO.NET/​DataWorks SqlBulkCopy.DefaultTransaction/​VB/​Project.vbproj Updates client and cryptography dependencies.
samples/​snippets/​visualbasic/​VS_Snippets_ADO.NET/​DataWorks SqlBulkCopy.ColumnMappingOrdersDetails/​VB/​source.vb Migrates column-mapping sample import.
samples/​snippets/​visualbasic/​VS_Snippets_ADO.NET/​DataWorks SqlBulkCopy.ColumnMappingOrdersDetails/​VB/​Project.vbproj Updates client and cryptography dependencies.
samples/​snippets/​visualbasic/​VS_Snippets_ADO.NET/​DataWorks SnapshotIsolation.DemoUpdate/​VB/​source.vb Migrates snapshot-update client import.
samples/​snippets/​visualbasic/​VS_Snippets_ADO.NET/​DataWorks SnapshotIsolation.DemoUpdate/​VB/​Project.vbproj Updates client and cryptography dependencies.
samples/​snippets/​visualbasic/​VS_Snippets_ADO.NET/​DataWorks SnapshotIsolation.Demo/​VB/​source.vb Migrates snapshot-isolation client import.
samples/​snippets/​visualbasic/​VS_Snippets_ADO.NET/​DataWorks SnapshotIsolation.Demo/​VB/​Project.vbproj Updates client and cryptography dependencies.
samples/​snippets/​visualbasic/​VS_Snippets_ADO.NET/​DataWorks LargeValueType.Photo/​VB/​source.vb Migrates photo sample client import.
samples/​snippets/​visualbasic/​VS_Snippets_ADO.NET/​DataWorks LargeValueType.Photo/​VB/​Project.vbproj Updates client and cryptography dependencies.
samples/​snippets/​visualbasic/​VS_Snippets_ADO.NET/​DataWorks LargeValueType.Param/​VB/​source.vb Migrates parameter sample client import.
samples/​snippets/​visualbasic/​VS_Snippets_ADO.NET/​DataWorks LargeValueType.Param/​VB/​Project.vbproj Updates client and cryptography dependencies.
samples/​snippets/​visualbasic/​VS_Snippets_ADO.NET/​DataWorks BulkCopy.Single/​VB/​source.vb Migrates bulk-copy client import.
samples/​snippets/​visualbasic/​VS_Snippets_ADO.NET/​DataWorks BulkCopy.Single/​VB/​Project.vbproj Updates client and cryptography dependencies.
samples/​snippets/​csharp/​VS_Snippets_ADO.NET/​DataWorks SqlTypes.IsNull/​CS/​Project.csproj Removes unnecessary client dependency.
samples/​snippets/​csharp/​VS_Snippets_ADO.NET/​DataWorks SqlTypes.Guid/​CS/​Project.csproj Removes unnecessary client dependency.
samples/​snippets/​csharp/​VS_Snippets_ADO.NET/​DataWorks SqlTypes.GetTypeAW/​CS/​source.cs Migrates client import.
samples/​snippets/​csharp/​VS_Snippets_ADO.NET/​DataWorks SqlTypes.GetTypeAW/​CS/​Project.csproj Updates client and cryptography dependencies.
samples/​snippets/​csharp/​VS_Snippets_ADO.NET/​DataWorks SqlTypes.CompareNulls/​CS/​Project.csproj Removes unnecessary client dependency.
samples/​snippets/​csharp/​VS_Snippets_ADO.NET/​DataWorks SqlNotification.Perms/​CS/​Project.csproj Retargets historical permissions sample to Framework.
samples/​snippets/​csharp/​VS_Snippets_ADO.NET/​DataWorks SqlClient.GetXmlDataReader/​CS/​source.cs Migrates XML sample client import.
samples/​snippets/​csharp/​VS_Snippets_ADO.NET/​DataWorks SqlClient.GetXmlDataReader/​CS/​Project.csproj Updates client and cryptography dependencies.
samples/​snippets/​csharp/​VS_Snippets_ADO.NET/​DataWorks SqlBulkCopy.SqlTransaction/​CS/​source.cs Migrates transactional bulk-copy import.
samples/​snippets/​csharp/​VS_Snippets_ADO.NET/​DataWorks SqlBulkCopy.SqlTransaction/​CS/​Project.csproj Updates client and cryptography dependencies.
samples/​snippets/​csharp/​VS_Snippets_ADO.NET/​DataWorks SqlBulkCopy.InternalTransaction/​CS/​source.cs Migrates bulk-copy client import.
samples/​snippets/​csharp/​VS_Snippets_ADO.NET/​DataWorks SqlBulkCopy.InternalTransaction/​CS/​Project.csproj Updates client and cryptography dependencies.
samples/​snippets/​csharp/​VS_Snippets_ADO.NET/​DataWorks SqlBulkCopy.DefaultTransaction/​CS/​source.cs Migrates bulk-copy client import.
samples/​snippets/​csharp/​VS_Snippets_ADO.NET/​DataWorks SqlBulkCopy.DefaultTransaction/​CS/​Project.csproj Updates client and cryptography dependencies.
samples/​snippets/​csharp/​VS_Snippets_ADO.NET/​DataWorks SqlBulkCopy.ColumnMappingOrdersDetails/​CS/​source.cs Migrates column-mapping sample import.
samples/​snippets/​csharp/​VS_Snippets_ADO.NET/​DataWorks SqlBulkCopy.ColumnMappingOrdersDetails/​CS/​Project.csproj Updates client and cryptography dependencies.
samples/​snippets/​csharp/​VS_Snippets_ADO.NET/​DataWorks SnapshotIsolation.DemoUpdate/​CS/​source.cs Migrates snapshot-update client import.
samples/​snippets/​csharp/​VS_Snippets_ADO.NET/​DataWorks SnapshotIsolation.DemoUpdate/​CS/​Project.csproj Updates client and cryptography dependencies.
samples/​snippets/​csharp/​VS_Snippets_ADO.NET/​DataWorks SnapshotIsolation.Demo/​CS/​source.cs Migrates snapshot-isolation client import.
samples/​snippets/​csharp/​VS_Snippets_ADO.NET/​DataWorks SnapshotIsolation.Demo/​CS/​Project.csproj Updates client and cryptography dependencies.
samples/​snippets/​csharp/​VS_Snippets_ADO.NET/​DataWorks LargeValueType.Photo/​CS/​source.cs Migrates photo sample client import.
samples/​snippets/​csharp/​VS_Snippets_ADO.NET/​DataWorks LargeValueType.Photo/​CS/​Project.csproj Updates client and cryptography dependencies.
samples/​snippets/​csharp/​VS_Snippets_ADO.NET/​DataWorks LargeValueType.Param/​CS/​source.cs Migrates parameter sample client import.
samples/​snippets/​csharp/​VS_Snippets_ADO.NET/​DataWorks LargeValueType.Param/​CS/​Project.csproj Updates client and cryptography dependencies.
samples/​snippets/​csharp/​VS_Snippets_ADO.NET/​DataWorks BulkCopy.Single/​CS/​source.cs Migrates bulk-copy client import.
samples/​snippets/​csharp/​VS_Snippets_ADO.NET/​DataWorks BulkCopy.Single/​CS/​Project.csproj Updates client and cryptography dependencies.
docs/​framework/​data/​adonet/​sql/​windows-applications-using-callbacks.md Updates async guidance and fixes callback syntax.
docs/​framework/​data/​adonet/​sql/​transaction-and-bulk-copy-operations.md Migrates transaction and bulk-copy API references.
docs/​framework/​data/​adonet/​sql/​the-context-connection.md Preserves SQL CLR provider requirements.
docs/​framework/​data/​adonet/​sql/​table-valued-parameters.md Clarifies client-side record types and prerequisites.
docs/​framework/​data/​adonet/​sql/​sqltypes-and-the-dataset.md Distinguishes client and shared data types.
docs/​framework/​data/​adonet/​sql/​sqlcommand-execution-with-a-sqlnotificationrequest.md Corrects notification properties and service configuration.
docs/​framework/​data/​adonet/​sql/​sqlclient-support-for-localdb.md Updates instance setup and encryption guidance.
docs/​framework/​data/​adonet/​sql/​sqlclient-support-for-high-availability-disaster-recovery.md Updates failover and transaction guidance.
docs/​framework/​data/​adonet/​sql/​sql-xml-column-values.md Migrates XML reader API references.
docs/​framework/​data/​adonet/​sql/​sql-server-features-and-adonet.md Clarifies standalone-client and SQL CLR boundaries.
docs/​framework/​data/​adonet/​sql/​sql-server-express-user-instances.md Updates Windows client and encryption guidance.
docs/​framework/​data/​adonet/​sql/​sql-server-data-types.md Clarifies provider-independent SQL value types.
docs/​framework/​data/​adonet/​sql/​sql-server-data-operations.md Introduces client package and namespace requirements.
docs/​framework/​data/​adonet/​sql/​specifying-xml-values-as-parameters.md Migrates XML parameter examples.
docs/​framework/​data/​adonet/​sql/​snapshot-isolation-in-sql-server.md Migrates transaction API references.
docs/​framework/​data/​adonet/​sql/​single-bulk-copy-operations.md Migrates APIs and corrects inline syntax.
docs/​framework/​data/​adonet/​sql/​query-notifications-in-sql-server.md Clarifies notification APIs and cache integration.
docs/​framework/​data/​adonet/​sql/​provider-statistics-for-sql-server.md Migrates statistics APIs and sample imports.
docs/​framework/​data/​adonet/​sql/​polling-in-console-applications.md Removes unsupported async connection keyword.
docs/​framework/​data/​adonet/​sql/​multiple-bulk-copy-operations.md Migrates bulk-copy API references.
docs/​framework/​data/​adonet/​sql/​modifying-large-value-max-data.md Migrates large-value client API references.
docs/​framework/​data/​adonet/​sql/​manipulating-data.md Migrates MARS examples and API references.
docs/​framework/​data/​adonet/​sql/​large-udts.md Preserves server-side types and fixes client examples.
docs/​framework/​data/​adonet/​sql/​inserting-an-image-from-a-file.md Adds prerequisites and fixes missing brace.
docs/​framework/​data/​adonet/​sql/​index.md Establishes modern provider guidance and exceptions.
docs/​framework/​data/​adonet/​sql/​handling-null-values.md Makes description provider-independent.
docs/​framework/​data/​adonet/​sql/​filestream-data.md Migrates FILESTREAM APIs and states platform requirements.
docs/​framework/​data/​adonet/​sql/​enumerating-instances-of-sql-server.md Migrates discovery APIs and updates security guidance.
docs/​framework/​data/​adonet/​sql/​enabling-query-notifications.md Replaces client permission checks with database guidance.
docs/​framework/​data/​adonet/​sql/​enabling-multiple-active-result-sets.md Updates exception namespace.
docs/​framework/​data/​adonet/​sql/​detecting-changes-with-sqldependency.md Updates dependency APIs, prerequisites, and permissions.
docs/​framework/​data/​adonet/​sql/​date-and-time-data.md Migrates date/time client guidance and APIs.
docs/​framework/​data/​adonet/​sql/​database-mirroring-in-sql-server.md Migrates mirroring API references.
docs/​framework/​data/​adonet/​sql/​comparing-guid-and-uniqueidentifier-values.md Makes description provider-independent.
docs/​framework/​data/​adonet/​sql/​bulk-copy-operations-in-sql-server.md Migrates APIs and clarifies server-side file access.
docs/​framework/​data/​adonet/​sql/​bulk-copy-example-setup.md Migrates setup article API references.
docs/​framework/​data/​adonet/​sql/​asynchronous-operations.md Recommends task-based APIs and clarifies legacy patterns.
docs/​framework/​data/​adonet/​sql/​aspnet-apps-using-wait-handles.md Migrates examples and removes unsupported async keyword.

Review effort: Balanced

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 6dfd2f04-cfd0-46a2-bc43-926abd556840
Repair date/time literals and type names, Visual Basic declarations, and the TVP SQL assignment. Remove completed WaitAny handles before another wait and supply explicit notification options for an existing Service Broker queue. Preserve the original provider integration boundaries.

Actual corrected samples ran against the supplied SQL Server target. Snapshot and environment-dependent coverage remains gated and is not claimed complete.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 6dfd2f04-cfd0-46a2-bc43-926abd556840
Close C# and VB snapshot readers before their transaction commits. Document the native Windows discovery constraint confirmed by portable execution and the loaded driver source.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 6dfd2f04-cfd0-46a2-bc43-926abd556840
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

community-contribution Indicates PR is created by someone from the .NET community. data-access/subsvc dotnet-framework/svc

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants