Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 6692|Antwort: 0

[Kommunikation] Microsoft startet Microsoft.Data.SqlClient als Ersatz für System.Data.SqlClient

[Link kopieren]
Veröffentlicht am 27.12.2021 22:21:14 | | |
Hintergrund

In den frühen Tagen von .NET war das System.Data-Framework ein wichtiger Bestandteil. Es bietet eine Möglichkeit, .NET-Datenbanktreiber zu erstellen, ähnlich den ActiveX-Datenobjekten von Visual Basic. Obwohl die API anders ist, wird ihr Name wiederverwendet, daher der Spitzname ADO .NET.

Ein wesentlicher Unterschied zwischen ADO und ADO .NET (also System.Data) ist das Objektmodell. In ADO muss man normalerweise nur Connection-, Command- und Recordset-Objekte verwenden, und der OleDB/ODBC-Treiber verbirgt etwas anderes. Dies verbessert die Wiederverwendung von Code, aber es ist für Entwickler schwierig, einige Datenbankfunktionen bereitzustellen.

In ADO .NET kannst du auch OleDB/ODBC verwenden, aber in den meisten Fällen wirst du eine Reihe datenbankspezifischer Klassen verwenden. Diese Klassen stammen aus DBConnection, DBCommand, und DBDataReader, die die Wiederverwendbarkeit des Originalcodes erhalten. Da es sich jedoch um stark benannte Typen handelt, müssen sie explizit Teil der .NET-Bibliothek sein.

Wahrscheinlich um die Entwicklung zu vereinfachen, sind SQL Server, OleDB und ODBC-Treiber alle Teil des System.Data-Frameworks. Dieser Ansatz war damals akzeptabel, verursachte jedoch Probleme im aktuellen Entwicklungszyklus von SQL Server.

Tatsächlich haben sich die Releasezyklen von SQL Server von 3 bis 5 Jahren auf fast jedes Jahr geändert. Neue Versionen erfordern häufig Updates des .NET-Treibers, was nicht möglich ist, wenn er an den .NET-Standard-Release-Zyklus gebunden ist.

Der erste Schritt ist die Aufteilung der System.Data-Bibliothek. NET Core erreicht diesen Schritt, indem es für jeden Datenbanktreiber separate Bibliotheken bereitstellt. Der nächste Schritt ist, den SQL-Server-Treiber vollständig von .NET Core/Standard zu trennen. Dafür haben sie Microsoft.Data.SqlClient erstellt.

Upgrade auf Microsoft.Data.SqlClient

Für die meisten Entwickler ist die Nutzung von Microsoft.Data.SqlClient sehr einfach, indem man einfach die Using-Anweisung am oberen Rand jeder Klasse modifiziert. Außerdem verwendet es dieselben Klassennamen und APIs und bietet ungefähr die gleichen Funktionen.

Für leichte ORMs wie Dapper oder RepoDB sind keine weiteren Änderungen erforderlich.

Wenn Entwickler ORMs zur Verwaltung von Verbindungen verwenden (z. B. EF, NHibernate), müssen sie auf ORM-Upgrades warten.

Die problematischeren sind die, die ORMs mischen. Wenn ein ORM Microsoft.Data.SqlClient und das andere System.Data.SqlClient verwendet, funktioniert es nicht gleichzeitig. Dies ist besonders wichtig bei der Arbeit mit gemeinsamen SqlTransaction-Objekten.

Brauchbarkeit

Version 1.0 von Microsoft.Data.SqlClient ist für diese Plattformen verfügbar:

  • .NET Framework 4.6+
  • .NET Core 2.1+
  • .NET Standard 2.0+


Bekannte Probleme

Nicht jeder muss sofort aufrüsten. Diese bekannten Probleme sind in der Dokumentation vermerkt:

  • User Data Type (UDT) funktioniert möglicherweise nicht mit Microsoft.Data.SqlClient.
  • Azure Key Vault und Microsoft.Data.SqlClient haben keinen Keystore.
  • Microsoft.Data.SqlClient unterstützt Always Encrypted für sichere Enklaven nicht.
  • Nur .NET Framework und .NET Core unterstützen Always Encrypted, .NET Standard nicht, da .NET Standard einige Verschlüsselungsabhängigkeiten fehlen.


Originallink:https://blog.csdn.net/weixin_39777464/article/details/111698467




Vorhergehend:Linux aktualisiert Systemzeit und Zeitzone
Nächster:Die virtuelle ESXI-Maschine erweitert die Festplattenkapazität des Linux-Systems
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com