Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 6692|Odpoveď: 0

[Komunikácia] Microsoft spúšťa Microsoft.Data.SqlClient na nahradenie System.Data.SqlClient

[Kopírovať odkaz]
Zverejnené 27. 12. 2021 22:21:14 | | |
pozadie

V raných dňoch .NET bol rámec System.Data dôležitou súčasťou. Poskytuje spôsob vytvárania .NET databázových ovládačov, podobne ako ActiveX Data Objects vo Visual Basic. Aj keď je API odlišné, jeho názov sa opakovane používa, odtiaľ prezývka ADO .NET.

Jedným z kľúčových rozdielov medzi ADO a ADO .NET (t. j. System.Data) je objektový model. V ADO zvyčajne stačí použiť objekty Connection, Command a Recordset, a ovládač OleDB/ODBC skrýva niečo iné. To zlepšuje opätovné použitie kódu, ale vývojárom je ťažké sprístupniť niektoré funkcie databázy.

V ADO .NET môžete tiež použiť OleDB/ODBC, ale vo väčšine prípadov použijete sériu databázovo špecifických tried. Tieto triedy sú odvodené z DBConnection, DBCommand a DBDataReader, ktoré zachovávajú znovupoužiteľnosť pôvodného kódu. Keďže sú však silne pomenované typy, musia byť explicitne súčasťou .NET knižnice.

Pravdepodobne pre zjednodušenie vývoja sú SQL Server, OleDB a ODBC ovládače všetky súčasťou frameworku System.Data. Tento prístup bol v tom čase prijateľný, no spôsoboval problémy s aktuálnym vývojovým cyklom SQL Serveru.

V skutočnosti sa cykly vydávania SQL Serveru zmenili z 3 na 5 rokov na takmer každý rok. Nové vydania často vyžadujú aktualizácie .NET ovládača, čo nie je možné, ak je viazaný na cyklus vydávania štandardu .NET.

Prvým krokom je rozdelenie knižnice System.Data. NET Core tento krok dosahuje poskytovaním samostatných knižníc pre každý ovládač databázy. Ďalším krokom je úplne oddeliť ovládač SQL Serveru od .NET Core/Standard. Na to vytvorili Microsoft.Data.SqlClient.

Upgrade na Microsoft.Data.SqlClient

Pre väčšinu vývojárov bude používanie Microsoft.Data.SqlClient veľmi jednoduché, stačí upraviť príkaz using na začiatku každej triedy. Navyše používa rovnaké názvy tried a API a poskytuje približne rovnaké funkcie.

Pre ľahké ORM ako Dapper alebo RepoDB nie sú potrebné ďalšie zmeny.

Ak vývojári používajú ORM na správu pripojení (napr. EF, NHibernate), musia počkať na aktualizácie ORM.

Problémovejšie sú tie, ktoré miešajú ORM. Ak jeden ORM používa Microsoft.Data.SqlClient a druhý System.Data.SqlClient, nebude to fungovať naraz. To je obzvlášť dôležité pri práci so zdieľanými objektmi SqlTransaction.

Použiteľnosť

Verzia 1.0 Microsoft.Data.SqlClient je dostupná pre tieto platformy:

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


Známe problémy

Nie každý potrebuje upgrade hneď. Tieto známe problémy sú uvedené v dokumentácii:

  • User Data Type (UDT) nemusí fungovať s Microsoft.Data.SqlClient.
  • Azure Key Vault a Microsoft.Data.SqlClient nemajú úložisko kľúčov.
  • Microsoft.Data.SqlClient nepodporuje Always Encrypted pre bezpečné enklávy.
  • Iba .NET Framework a .NET Core podporujú Always Encrypted, .NET Standard nie, pretože .NET Standard postráda niektoré šifrovacie závislosti.


Pôvodný odkaz:https://blog.csdn.net/weixin_39777464/article/details/111698467




Predchádzajúci:Linux aktualizuje systémový čas a časové pásmo
Budúci:Virtuálny stroj ESXI rozširuje kapacitu disku systému Linux
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com