架构师_程序员_码农网

P Získanie hesla
Registrácia

QQ登录

Stačí jeden krok, aby ste mohli začať

Vyhľadávanie
Zobrazenie:3643|Odpoveď: 0
打印 上一主题 下一主题

[交流][转] Microsoft zavádza Microsoft.Data.SqlClient namiesto System.Data.

[ SqlClient].
Z 跳转到指定楼层
majiteľ budovy
发表于 2021-12-27 22:21:14|只看该作者回帖奖励|Reverznéprehliadanie|Režim čítania
Pozadie

Rámec System.Data bol dôležitou súčasťou pri prvom vytvorení .NET. Poskytoval spôsob vytvárania databázových ovládačov pre .NET, podobne ako ActiveX Data Objects vo Visual Basicu. hoci API bolo odlišné, opätovne sa použil jeho názov, preto sa mu prischol názov ADO .NET.

Kľúčovým rozdielom medzi ADO a ADO .NET (t. j. System.Data) je objektový model. V ADO zvyčajne potrebujete používať len objekty Connection (pripojenie), Command (príkaz) a Recordset (súbor záznamov) a ovládač OleDB/ODBC ostatné objekty skrýva. To zlepšuje opätovné použitie kódu, ale sťažuje vývojárom sprístupnenie niektorých funkcií databázy.

NET, môžete tiež použiť OleDB/ODBC, ale vo väčšine prípadov sa používa rad tried špecifických pre databázu. Tieto triedy sú odvodené od tried DBConnection, DBCommand a DBDataReader a môžu zachovať pôvodnú opätovnú použiteľnosť kódu. Keďže však ide o silne pomenované typy, musia byť explicitne zahrnuté ako súčasť .

Pravdepodobne kvôli zjednodušeniu vývoja sa SQL Server, OleDB a ovládač ODBC stali súčasťou rámca System.Data súčasne. Tento prístup bol v tom čase prijateľný, ale spôsobil problémy so súčasným vývojovým cyklom SQL Servera.

V skutočnosti sa cyklus vydávania servera SQL Server zmenil z 3 až 5 rokov na takmer ročný. Nové vydanie si zvyčajne vyžaduje aktualizáciu ovládača .NET, ktorú nie je možné vydať včas, ak je viazaná na štandardný cyklus vydávania .NET.

Prvým krokom bolo rozdelenie System. NET Core dokončiť tento krok poskytnutím samostatných knižníc pre každý ovládač databázy. Ďalším krokom bolo úplné oddelenie ovládača servera SQL od ovládača .NET Core/Standard. Na tento účel vytvorili Microsoft.Data.SqlClient.

Aktualizácia na Microsoft.Data.SqlClient

Data.SqlClient bude pre väčšinu vývojárov veľmi jednoduchá, vyžaduje si len zmenu príkazu using na začiatku každej triedy. Okrem toho používa rovnaký názov triedy a rozhranie API a poskytuje približne rovnaké funkcie.

V prípade ľahkých ORM, ako je napríklad Dapper alebo RepoDB, nie sú potrebné žiadne ďalšie zmeny.

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

Problematickejšie sú hybridné ORM, kde jeden ORM používa Microsoft.Data.SqlClient a druhý System.Data.SqlClient a oba nefungujú správne. To je dôležité najmä pri používaní zdieľaných objektov SqlTransaction.

Dostupnosť

Verzia 1.0 Microsoft.Data.SqlClient je k dispozícii pre tieto platformy.


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


Známe problémy

Nie každý musí hneď aktualizovať. V dokumentácii sú uvedené tieto známe problémy.

  • Typy používateľských údajov (UDT) nemusia fungovať s Microsoft.Data.SqlClient. Azure Key Vault a Microsoft.Data.SqlClient nemajú úložisko kľúčov. Microsoft.Data.SqlClient nepodporuje zabezpečené enklávy, ktoré sú vždy
  • Encrypted. Iba .NET Framework a .NET Core podporujú Always Encrypted, .NET Standard nie, pretože .NET Standard nemá určité závislosti šifrovania.


Odkaz na pôvodný článok: https: //blog.csdn.net/weixin_39777464/article/details/111698467




Predchádzajúci: Aktualizácia systémového času a časového pásma v systéme Linux
Ďalšie: [Praktické]Rozšírenie virtuálneho počítača ESXI na systémovom disku Linux
C#/C# Zmena hodnoty statického readonly, zverejnené len v procese praxe, vyskytli sa technické ťažkosti, neuvádzajte ostatných do omylu.

T áto verzia integrálnych pravidiel


VYHLÁSENIE: Všetok softvér, programové materiály alebo články vydané sieťou Code Farmer Network sú obmedzené na študijné a výskumné účely; uvedený obsah sa nesmie používať na komerčné alebo nezákonné účely, inak za všetky dôsledky nesie zodpovednosť používateľ. Táto stránka informácie zo siete, spor o autorské práva nemá s touto stránkou nič spoločné. Vyššie uvedený obsah musíte úplne odstrániť z počítača do 24 hodín od jeho stiahnutia. Ak sa vám program páči, podporte prosím 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 e-mailom, aby sme to mohli riešiť.

Mail To:help@itsvse.com

QQ| ( 鲁ICP备14021824号-2)|Mapa stránok

GMT+8, 2024-9-19 03:55

Rýchla odpoveďSpäť na začiatokSpäť na zoznam