Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Namnrymden Microsoft.Data.SqlClient innehåller den stödda .NET-dataleverantören för SQL Server-kompatibla databaser. Det började som en förgrening av System.Data.SqlClient och behåller den välkända ADONET-programmeringsmodellen samtidigt som nya SQL Server-funktioner levereras oberoende av .NET-runtime.
Använd Microsoft.Data.SqlClient för ny utveckling.
Installera och importera namnrymden
Lägg till NuGet-paketet:
dotnet add package Microsoft.Data.SqlClient
Importera namnrymden:
using Microsoft.Data.SqlClient;
De flesta applikationer använder SqlConnection, SqlCommand, SqlParameter, SqlDataReader, och SqlTransaction. För hela den offentliga ytan, se Microsoft. Data.SqlClient API-referensen.
Förhållande till ADO.NET
Microsoft. Data.SqlClient implementerar leverantörsoberoende typer från System.Data.Common, inklusive DbConnection, DbCommand, , DbDataReaderoch DbTransaction. Den tillhandahåller också SQL Server-specifika API:er såsom:
SqlBulkCopySqlBatchSqlConnectionStringBuilderSqlConfigurableRetryFactorySqlDependency- SQL Server-specifik autentisering, kryptering och stöd för datatyper
För vägledning om att välja leverantörsoberoende eller SqlClient-specifika API:er, se ADO.NET-arkitektur med Microsoft. Data.SqlClient.
Förhållandet till System.Data.SqlClient
System.Data.SqlClientär den äldre leverantören som levereras med .NET Framework och tidigare .NET-versioner.
Microsoft.Data.SqlClient använder många av samma typnamn, men har olika paket, namnrymder, standardinställningar, funktioner och supportpolicys.
Referera inte till båda leverantörerna i den nya applikationskoden. Typer med samma namn från de två paketen är inte utbytbara. En System.Data.SqlClient.SqlConnection kan till exempel inte skickas vidare när ett Microsoft.Data.SqlClient.SqlConnection krävs.
Migreringen börjar vanligtvis med att lägga till paketet Microsoft.Data.SqlClient och ändra namnrymdsreferenser, men du måste också granska anslutningskryptering, parametrar, konfiguration, transitiva beroenden och körtidsbeteende. Följ Migrera från System.Data.SqlClient till Microsoft.Data.SqlClient innan du distribuerar.
Versionskompatibilitet
Drivrutinspaketversionen är oberoende av applikationens .NET-version och databasmotorversionen. Kolla alla tre:
| Component | Vad du ska verifiera |
|---|---|
| Microsoft.Data.SqlClient | Release-linjen stöds och innehåller de funktioner som din applikation använder. |
| .NET- eller .NET-ramverket | Applikationen riktar sig mot en körtid som stöds av den drivrutinsreleasen. |
| SQL Server-kompatibel databas | Drivrutinsversionen stöder databasversionen och servern stöder alla önskade protokollfunktioner, såsom TDS 8.0. |
För nuvarande matriser, se SqlClient-drivrutinsstödets livscykel.
Versionsspecifika ändringar
Drivrutinssläpp kan lägga till API:er, flytta valfria beroenden och ändra säkra standardinställningar. Gå igenom ändringar innan varje mindre eller större uppdatering.
Exempel inkluderar:
- Version 4.0 ändrades
Encrypttill standard tilltrue. - Version 5.0 introducerade
SqlConnectionEncryptOptionochEncrypt=Strictför TDS 8.0. - Version 5.2 introducerade
SqlBatchpå moderna .NET-målplattformar som stöds. - Version 7.0 flyttade drivrutinstillhandahållen Microsoft Entra-autentisering till
Microsoft.Data.SqlClient.Extensions.Azure.
Se vad som är nytt i Microsoft. Data.SqlClient för länkar till releaseanteckningar och en uppdateringssammanfattning.
Relaterade namnrymder och paket
Vissa funktioner använder typer utanför huvudnamnrymden eller valfria paket.
| Namnrymd eller paket | Purpose |
|---|---|
Microsoft.Data.SqlClient.Server |
SQLClient-implementationer av SqlDataRecord och SqlMetaData. |
Microsoft.Data.SqlTypes |
SQLClient-specifika typer såsom SqlFileStream, SqlJson, och SqlVector<T>. |
Microsoft.Data.SqlClient.Diagnostics |
Starkt typade nyttolaster för diagnostikhändelser. |
Microsoft.Data.SqlClient.Extensions.Azure |
Drivrutinsbaserad Microsoft Entra-autentisering för version 7.0 och senare. |
Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider |
Azure Key Vault-integration för Always Encrypted. |
Dra inte slutsatser om paketkrav enbart från ett namnrymd. Följ artikeln om funktionen och informationen om NuGet-paketberoenden för den drivrutinsversion du använder.