See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 6692|Vastuse: 0

[Kommunikatsioon] Microsoft käivitab Microsoft.Data.SqlClienti, et asendada System.Data.SqlClient

[Kopeeri link]
Postitatud 27.12.2021 22:21:14 | | |
Taust

.NET-i algusaegadel oli System.Data raamistik oluline komponent. See võimaldab luua .NET andmebaasidraivereid, sarnaselt Visual Basicu ActiveX andmeobjektidele. Kuigi API on erinev, kasutatakse selle nime uuesti, seetõttu ka hüüdnimi ADO .NET.

Üks peamine erinevus ADO ja ADO .NET (st System.Data) vahel on objektimudel. ADO-s tuleb tavaliselt kasutada ainult Connectioni, Command ja Recordset objekte ning OleDB/ODBC draiver peidab midagi muud. See parandab koodi taaskasutust, kuid arendajatel on keeruline mõningaid andmebaasi funktsioone tutvustada.

ADO .NET-is saab kasutada ka OleDB/ODBC-d, kuid enamasti kasutatakse andmebaasispetsiifilisi klasse. Need klassid on tuletatud DBConnectionist, DBCommandist ja DBDataReaderist, mis säilitavad originaalkoodi taaskasutatavuse. Kuid kuna need on tugevalt nimetatud tüübid, peavad need olema selgelt osa .NET teegist.

Tõenäoliselt arenduse lihtsustamiseks on SQL Server, OleDB ja ODBC draiverid kõik osa System.Data raamistikust. See lähenemine oli tol ajal aktsepteeritav, kuid tekitas praeguses SQL Serveri arendustsüklis probleeme.

Tegelikult on SQL Serveri väljalasketsüklid muutunud 3–5 aastast peaaegu iga aastani. Uued versioonid nõuavad sageli .NET draiveri uuendamist, mis pole võimalik, kui see on seotud .NET standardväljalasketsükliga.

Esimene samm on System.Data teegi jagamine. NET Core saavutab selle sammu, pakkudes iga andmebaasi draiveri jaoks eraldi teeke. Järgmine samm on täielikult eraldada SQL Server draiver .NET Core/Standardist. Selleks lõid nad Microsoft.Data.SqlClient.

Upgrade to Microsoft.Data.SqlClient

Enamiku arendajate jaoks on Microsoft.Data.SqlClient kasutamine väga lihtne, lihtsalt iga klassi ülaosas oleva using lause muutmine. Lisaks kasutab see samu klassinimesid ja API-sid ning pakub ligikaudu samu funktsioone.

Kergete ORM-ide, nagu Dapper või RepoDB, puhul pole täiendavaid muudatusi vaja.

Kui arendajad kasutavad ORM-e ühenduste haldamiseks (nt EF, NHibernate), peavad nad ootama ORM-i uuendusi.

Kõige keerulisemad on need, mis segavad ORM-e. Kui üks ORM kasutab Microsoft.Data.SqlClient ja teine System.Data.SqlClient, siis see ei tööta samaaegselt. See on eriti oluline, kui töötada jagatud SqlTransaction objektidega.

Kasutatavus

Microsoft.Data.SqlClient versioon 1.0 on saadaval järgmistele platvormidele:

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


Tuntud probleemid

Kõik ei pea kohe uuendama. Need teadaolevad probleemid on dokumentatsioonis märgitud:

  • Kasutajaandmetüüp (UDT) ei pruugi töötada Microsoft.Data.SqlClientiga.
  • Azure Key Vaultil ja Microsoft.Data.SqlClientil pole võtmehoidlat.
  • Microsoft.Data.SqlClient ei toeta Always Encrypted funktsiooni turvalistes enklaavides.
  • Ainult .NET Framework ja .NET Core toetavad Always Encrypted'i, .NET Standard mitte, kuna .NET Standardil puuduvad mõned krüpteerimispiirangud.


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




Eelmine:Linux uuendab süsteemi aja- ja ajavööndit
Järgmine:ESXI virtuaalmasin laiendab Linuxi süsteemi ketta mahtu
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com