Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 6692|Atbildi: 0

[Paziņojums] Microsoft palaiž Microsoft.Data.SqlClient, lai aizstātu System.Data.SqlClient

[Kopēt saiti]
Publicēts 27.12.2021 22:21:14 | | |
fons

.NET sākumā System.Data ietvars bija svarīgs komponents. Tas nodrošina veidu, kā izveidot .NET datu bāzes draiverus, līdzīgi kā Visual Basic ActiveX datu objekti. Lai gan API ir atšķirīgs, tā nosaukums tiek izmantots atkārtoti, līdz ar to segvārds ADO .NET.

Viena no galvenajām atšķirībām starp ADO un ADO .NET (t.i., System.Data) ir objekta modelis. ADO parasti jāizmanto tikai savienojuma, komandu un ierakstu kopas objekti, un OleDB/ODBC draiveris slēpj kaut ko citu. Tas uzlabo koda atkārtotu izmantošanu, bet izstrādātājiem ir grūti atklāt dažas datu bāzes funkcijas.

ADO .NET varat izmantot arī OleDB / ODBC, bet vairumā gadījumu jūs izmantosiet virkni datu bāzei specifisku klašu. Šīs klases ir atvasinātas no DBConnection, DBCommand un DBDataReader, kas saglabā oriģinālā koda atkārtotu izmantojamību. Taču, tā kā tie ir stingri nosaukti tipi, tiem ir jābūt skaidri iekļautiem .NET bibliotēkā.

Iespējams, lai vienkāršotu izstrādi, SQL Server, OleDB un ODBC draiveri ir daļa no System.Data sistēmas. Šī pieeja tolaik bija pieņemama, taču tā radīja problēmas ar pašreizējo SQL Server izstrādes ciklu.

Faktiski SQL Server izlaišanas cikli ir mainījušies no 3 līdz 5 gadiem gandrīz katru gadu. Jauniem laidieniem bieži ir nepieciešami .NET draivera atjauninājumi, kas nav iespējams, ja tas ir saistīts ar .NET standarta izlaišanas ciklu.

Pirmais solis ir sadalīt System.Data bibliotēku. NET Core veic šo darbību, nodrošinot atsevišķas bibliotēkas katram datu bāzes draiverim. Nākamais solis ir pilnībā atdalīt SQL Server draiveri no .NET Core/Standard. Lai to izdarītu, viņi izveidoja Microsoft.Data.SqlClient.

Jaunināšana uz Microsoft.Data.SqlClient

Lielākajai daļai izstrādātāju Microsoft.Data.SqlClient izmantošana būs ļoti vienkārša, vienkārši modificējot lietošanas paziņojumu katras klases augšpusē. Turklāt tas izmanto tos pašus klašu nosaukumus un API un nodrošina aptuveni tādas pašas funkcijas.

Viegliem ORM, piemēram, Dapper vai RepoDB, papildu izmaiņas nav nepieciešamas.

Ja izstrādātāji izmanto ORM, lai pārvaldītu savienojumus (piemēram, EF, NHibernate), viņiem ir jāgaida ORM jauninājumi.

Apgrūtinošākie ir tie, kas sajauc ORM. Ja viens ORM izmanto Microsoft.Data.SqlClient, bet otrs izmanto System.Data.SqlClient, tas nedarbosies vienlaikus. Tas ir īpaši svarīgi, strādājot ar koplietojamiem SqlTransaction objektiem.

Izmantojamību

Microsoft.Data.SqlClient versija 1.0 ir pieejama šādām platformām:

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


Zināmās problēmas

Ne visiem ir nepieciešams jaunināt uzreiz. Šīs zināmās problēmas ir norādītas dokumentācijā:

  • Lietotāja datu tips (UDT) var nedarboties ar Microsoft.Data.SqlClient.
  • Azure Key Vault un Microsoft.Data.SqlClient nav atslēgu krātuves.
  • Microsoft.Data.SqlClient neatbalsta vienmēr šifrētu drošiem anklāviem.
  • Tikai .NET Framework un .NET Core atbalsts vienmēr ir šifrēts, .NET Standard to neatbalsta, jo .NET Standard trūkst dažu šifrēšanas atkarību.


Oriģinālā saite:https://blog.csdn.net/weixin_39777464/article/details/111698467




Iepriekšējo:Linux atjaunina sistēmas laiku un laika joslu
Nākamo:ESXI virtuālā mašīna paplašina Linux sistēmas diska ietilpību
Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com