Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 6692|Отговор: 0

[Комуникация] Microsoft пуска Microsoft.Data.SqlClient, за да замени System.Data.SqlClient

[Копирай линк]
Публикувано в 27.12.2021 г. 22:21:14 ч. | | |
фон

В ранните дни на .NET рамката System.Data беше важен компонент. Той предоставя начин за създаване на драйвери за .NET база данни, подобно на ActiveX Data Objects във Visual Basic. Въпреки че API е различен, името му се използва повторно, откъдето идва прякорът ADO .NET.

Една ключова разлика между ADO и ADO .NET (т.е. System.Data) е обектният модел. В ADO обикновено трябва да използвате само обекти Connection, Command и Recordset, а драйверът на OleDB/ODBC крие нещо друго. Това подобрява повторното използване на кода, но е трудно за разработчиците да разкрият някои функции на базата данни.

В ADO .NET можете също да използвате OleDB/ODBC, но в повечето случаи ще използвате серия от класове, специфични за база данни. Тези класове произлизат от DBConnection, DBCommand и DBDataReader, които запазват повторната използваемост на оригиналния код. Но тъй като са силно именувани типове, те трябва да са изрично част от .NET библиотеката.

Вероятно за да се улесни разработката, SQL Server, OleDB и ODBC драйвери са част от System.Data framework. Този подход беше приемлив по онова време, но създаде проблеми с текущия цикъл на разработка на SQL Server.

Всъщност цикълът на пускане на SQL Server се променя от 3 до 5 години до почти всяка година. Новите издания често изискват актуализации на .NET драйвера, което не е възможно, ако е свързано със стандартния цикъл на издаване на .NET.

Първата стъпка е да разделите библиотеката System.Data. NET Core постига тази стъпка, като предоставя отделни библиотеки за всеки драйвер на база данни. Следващата стъпка е напълно да се отдели драйверът на SQL Server от .NET Core/Standard. За целта те създадоха Microsoft.Data.SqlClient.

Ъпгрейд до Microsoft.Data.SqlClient

За повечето разработчици използването на Microsoft.Data.SqlClient ще бъде много просто, просто да се модифицира изявлението using в началото на всеки клас. Освен това използва същите имена на класове и API-та и предоставя приблизително същите функции.

За леки ORM като Dapper или RepoDB не са необходими допълнителни промени.

Ако разработчиците използват ORM за управление на връзки (например EF, NHibernate), те трябва да изчакат ъпгрейди на ORM.

По-проблемните са тези, които смесват ORM. Ако единият ORM използва Microsoft.Data.SqlClient, а другият System.Data.SqlClient, няма да работи едновременно. Това е особено важно при работа със споделени SqlTransaction обекти.

ползваемост

Версия 1.0 на Microsoft.Data.SqlClient е налична за следните платформи:

  • .NET Framework 4.6+
  • .NET Core 2.1+
  • .NET Стандарт 2.0+


Известни проблеми

Не всеки трябва да ъпгрейдва веднага. Тези известни проблеми са отбелязани в документацията:

  • Тип потребителски данни (UDT) може да не работи с Microsoft.Data.SqlClient.
  • Azure Key Vault и Microsoft.Data.SqlClient нямат магазин за ключове.
  • Microsoft.Data.SqlClient не поддържа Always Encrypted за сигурни енклави.
  • Само .NET Framework и .NET Core поддържат Always Encrypted, .NET Standard не, защото .NET Standard няма някои зависимости от криптирането.


Оригинален линк:https://blog.csdn.net/weixin_39777464/article/details/111698467




Предишен:Linux актуализира системното време и часова зона
Следващ:Виртуалната машина ESXI разширява капацитета на диска на Linux системата
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com