Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 6692|Odgovoriti: 0

[Komunikacija] Microsoft lansira Microsoft.Data.SqlClient kot zamenjavo za System.Data.SqlClient

[Kopiraj povezavo]
Objavljeno na 27. 12. 2021 22:21:14 | | |
ozadje

V zgodnjih dneh .NET je bil ogrodje System.Data pomemben sestavni del. Omogoča ustvarjanje gonilnikov .NET podatkovnih baz, podobno kot ActiveX podatkovni objekti v Visual Basicu. Čeprav je API drugačen, se njegovo ime ponovno uporablja, od tod vzdevek ADO .NET.

Ena ključnih razlik med ADO in ADO .NET (tj. System.Data) je objektni model. V ADO običajno uporabljaš le objekte Connection, Command in Recordset, gonilnik OleDB/ODBC pa skriva še nekaj drugega. To izboljša ponovno uporabo kode, vendar je razvijalcem težko razkriti nekatere funkcije podatkovne baze.

V ADO .NET lahko uporabljate tudi OleDB/ODBC, vendar boste v večini primerov uporabili vrsto razredov, specifičnih za bazo podatkov. Ti razredi izhajajo iz DBConnection, DBCommand in DBDataReader, ki ohranjajo ponovno uporabnost izvirne kode. Ker pa so to močno imenovani tipi, morajo biti eksplicitno del .NET knjižnice.

Verjetno za poenostavitev razvoja so SQL Server, OleDB in ODBC gonilniki vsi del ogrodja System.Data. Ta pristop je bil takrat sprejemljiv, vendar je povzročal težave s trenutnim razvojnim ciklom SQL Serverja.

Pravzaprav so se cikli izdaj SQL Serverja spremenili iz 3 do 5 let na skoraj vsako leto. Nove izdaje pogosto zahtevajo posodobitve .NET gonilnika, kar ni mogoče, če je vezan na .NET standardni cikel izidov.

Prvi korak je razdelitev knjižnice System.Data. NET Core ta korak doseže tako, da za vsak gonilnik podatkovne baze zagotovi ločene knjižnice. Naslednji korak je popolna ločitev gonilnika SQL Server od .NET Core/Standard. Za to so ustvarili Microsoft.Data.SqlClient.

Nadgradnja na Microsoft.Data.SqlClient

Za večino razvijalcev je uporaba Microsoft.Data.SqlClient zelo preprosta, saj lahko le spremenijo ukaz using na vrhu vsakega razreda. Poleg tega uporablja ista imena razredov in API-je ter ponuja približno enake funkcije.

Za lahke ORM-je, kot sta Dapper ali RepoDB, nadaljnje spremembe niso potrebne.

Če razvijalci uporabljajo ORM za upravljanje povezav (npr. EF, NHibernate), morajo počakati na nadgradnje ORM.

Bolj problematične so tiste, ki mešajo ORM-je. Če en ORM uporablja Microsoft.Data.SqlClient, drugi pa System.Data.SqlClient, ne bo delovalo hkrati. To je še posebej pomembno pri delu z deljenimi SqlTransaction objekti.

Uporabnost

Različica 1.0 Microsoft.Data.SqlClient je na voljo za te platforme:

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


Znane težave

Ne vsakdo potrebuje takojšnje nadgradnje. Te znane težave so navedene v dokumentaciji:

  • Uporabniški podatkovni tip (UDT) morda ne deluje z Microsoft.Data.SqlClient.
  • Azure Key Vault in Microsoft.Data.SqlClient nimata shrambe ključev.
  • Microsoft.Data.SqlClient ne podpira Always Encrypted za varne enklave.
  • Samo .NET Framework in .NET Core podpirata Always Encrypted, .NET Standard pa ne, ker .NET Standard nima nekaterih šifrirnih odvisnosti.


Izvirna povezava:https://blog.csdn.net/weixin_39777464/article/details/111698467




Prejšnji:Linux posodablja sistemski čas in časovni pas
Naslednji:ESXI virtualni stroj širi diskovno kapaciteto Linux sistema
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com