Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 6692|Odpowiedź: 0

[Komunikacja] Microsoft uruchamia Microsoft.Data.SqlClient, aby zastąpić System.Data.SqlClient

[Skopiuj link]
Opublikowano 27.12.2021 22:21:14 | | |
tło

We wczesnych latach .NET framework System.Data był ważnym elementem. Umożliwia tworzenie sterowników baz danych .NET, podobnie jak ActiveX Data Objects w Visual Basic. Chociaż API jest inne, jego nazwa jest używana ponownie, stąd przydomek ADO .NET.

Jedną z kluczowych różnic między ADO a ADO .NET (czyli System.Data) jest model obiektowy. W ADO zwykle wystarczy używać obiektów Connection, Command i Recordset, a sterownik OleDB/ODBC ukrywa coś innego. To poprawia ponowne wykorzystanie kodu, ale deweloperom trudno jest udostępnić niektóre funkcje bazy danych.

W ADO .NET możesz też używać OleDB/ODBC, ale w większości przypadków używasz serii klas specyficznych dla bazy danych. Klasy te pochodzą z DBConnection, DBCommand i DBDataReader, które zachowują możliwość ponownego użytku oryginalnego kodu. Ale ponieważ są to typy silnie nazwane, muszą być wyraźnie częścią biblioteki .NET.

Prawdopodobnie dla uproszczenia programowania, sterowniki SQL Server, OleDB i ODBC są częścią frameworka System.Data. To podejście było wówczas akceptowalne, ale powodowało problemy z obecnym cyklem rozwoju SQL Server.

W rzeczywistości cykle wydawań SQL Server zmieniały się z 3 do 5 lat do niemal każdego roku. Nowe wydania często wymagają aktualizacji sterownika .NET, co nie jest możliwe, jeśli jest powiązany z cyklem wydania standardu .NET.

Pierwszym krokiem jest podzielenie biblioteki System.Data. NET Core realizuje ten etap, udostępniając oddzielne biblioteki dla każdego sterownika bazy danych. Kolejnym krokiem jest całkowite oddzielenie sterownika SQL Server od .NET Core/Standard. Aby to zrobić, stworzyli Microsoft.Data.SqlClient.

Aktualizacja do Microsoft.Data.SqlClient

Dla większości programistów korzystanie z Microsoft.Data.SqlClient będzie bardzo proste, wystarczy zmodyfikować instrukcję using na górze każdej klasy. Dodatkowo używa tych samych nazw klas i API oraz oferuje mniej więcej te same funkcje.

Dla lekkich ORM, takich jak Dapper czy RepoDB, nie są wymagane dalsze zmiany.

Jeśli deweloperzy używają ORM do zarządzania połączeniami (np. EF, NHibernate), muszą poczekać na aktualizacje ORM.

Bardziej problematyczne są te, które mieszają ORM. Jeśli jeden ORM używa Microsoft.Data.SqlClient, a drugi System.Data.SqlClient, to nie będzie działać jednocześnie. Jest to szczególnie ważne przy pracy z obiektami współdzielonymi SqlTransaction.

Użyteczność

Wersja 1.0 Microsoft.Data.SqlClient jest dostępna na następujących platformach:

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


Znane problemy

Nie każdy musi od razu wymieniać sprzęt. Te znane problemy zostały odnotowane w dokumentacji:

  • Typ danych użytkownika (UDT) może nie działać z Microsoft.Data.SqlClient.
  • Azure Key Vault i Microsoft.Data.SqlClient nie mają magazynu kluczy.
  • Microsoft.Data.SqlClient nie obsługuje Always Encrypted dla bezpiecznych enklaw.
  • Tylko .NET Framework i .NET Core obsługują Always Encrypted, .NET Standard nie, ponieważ .NET Standard nie posiada niektórych zależności szyfrowania.


Oryginalny link:https://blog.csdn.net/weixin_39777464/article/details/111698467




Poprzedni:Aktualizacje systemu Linux są w czasie i strefie czasowej systemu
Następny:Maszyna wirtualna ESXI zwiększa pojemność dysku systemu Linux
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com