Skip to content

Commit 90d95b7

Browse files
Add medium-impact breaking change note for Microsoft.Data.SqlClient 7.0 upgrade (#5305)
Co-authored-by: AndriySvyryd <6539701+AndriySvyryd@users.noreply.github.com>
1 parent 9087072 commit 90d95b7

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

entity-framework/core/what-is-new/ef-core-11.0/breaking-changes.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ This page documents API and behavior changes that have the potential to break ex
1919
| **Breaking change** | **Impact** |
2020
|:--------------------------------------------------------------------------------------------------------------- | -----------|
2121
| [Sync I/O via the Azure Cosmos DB provider has been fully removed](#cosmos-nosync) | Medium |
22+
| [Microsoft.Data.SqlClient has been updated to 7.0](#sqlclient-7) | Medium |
2223
| [EF Core now throws by default when no migrations are found](#migrations-not-found) | Low |
2324
| [`EFOptimizeContext` MSBuild property has been removed](#ef-optimize-context-removed) | Low |
2425
| [EF tools packages no longer reference Microsoft.EntityFrameworkCore.Design](#ef-tools-no-design-dep) | Low |
@@ -49,6 +50,36 @@ Synchronous blocking on asynchronous methods ("sync-over-async") is highly disco
4950

5051
Convert your code to use async I/O APIs instead of sync I/O ones. For example, replace calls to `SaveChanges()` with `await SaveChangesAsync()`.
5152

53+
<a name="sqlclient-7"></a>
54+
55+
### Microsoft.Data.SqlClient has been updated to 7.0
56+
57+
#### Old behavior
58+
59+
EF Core 10 used [Microsoft.Data.SqlClient](https://www.nuget.org/packages/Microsoft.Data.SqlClient/) 6.x, which included Azure/Entra ID authentication dependencies (such as `Azure.Core`, `Azure.Identity`, and `Microsoft.Identity.Client`) in the core package.
60+
61+
#### New behavior
62+
63+
EF Core 11 now depends on [Microsoft.Data.SqlClient](https://www.nuget.org/packages/Microsoft.Data.SqlClient/) 7.0. This version removes Azure/Entra ID (formerly Azure Active Directory) authentication dependencies from the core package. If your application uses Entra ID authentication (for example, `ActiveDirectoryDefault`, `ActiveDirectoryInteractive`, `ActiveDirectoryManagedIdentity`, or `ActiveDirectoryServicePrincipal`), you must now install the [`Microsoft.Data.SqlClient.Extensions.Azure`](https://www.nuget.org/packages/Microsoft.Data.SqlClient.Extensions.Azure/) package separately.
64+
65+
In addition, `SqlAuthenticationMethod.ActiveDirectoryPassword` has been marked as obsolete.
66+
67+
For more details, see the [Microsoft.Data.SqlClient 7.0 release notes](https://github.com/dotnet/SqlClient/blob/main/release-notes/7.0/7.0.0.md).
68+
69+
#### Why
70+
71+
This change was made in [Microsoft.Data.SqlClient](https://www.nuget.org/packages/Microsoft.Data.SqlClient/) to reduce dependency bloat for applications that don't use Azure authentication, which is especially beneficial for containerized deployments and local development.
72+
73+
#### Mitigations
74+
75+
If your application uses Entra ID authentication with SQL Server, add a reference to the `Microsoft.Data.SqlClient.Extensions.Azure` package in your project:
76+
77+
```xml
78+
<PackageReference Include="Microsoft.Data.SqlClient.Extensions.Azure" Version="7.0.0" />
79+
```
80+
81+
No code changes are required beyond adding this package reference. If you use `SqlAuthenticationMethod.ActiveDirectoryPassword`, migrate to a modern authentication method such as `ActiveDirectoryDefault` or `ActiveDirectoryInteractive`.
82+
5283
## Low-impact changes
5384

5485
<a name="migrations-not-found"></a>

0 commit comments

Comments
 (0)