微软释出新的SQL Server资料连接程式
https://www.ithome.com.tw/news/130630
2019-05-15发表
微软要以新释出的Microsoft.Data.SqlClient取代旧有的System.Data.SqlClient,前者
将同时支援.NET Core和.NET Framework。
微软在NuGet发布Microsoft.Data.SqlClient套件预览版,用来代替SQL Server或Azure
SQL数据库ADO.NET供应程式(Provider)System.Data.SqlClient,
Microsoft.Data.SqlClient同时支援.NET Core和.NET Framework,且因为与
System.Data.SqlClient使用不同的命名空间,因此可以在程式中并存。
微软指出,用来存取SQL Server和Azure SQL数据库的System.Data.SqlClient,过去会先
在.NET Framework加入新的SQL功能,然后将这些设计扩充到其他驱动程式(Driver)中
,而由于微软现在十分看重.NET Core,因此想积极在.NET Core中加入数据库新功能,不
过由于.NET Core和.NET Framework各自拥有独立的程式码库,而且也以不同的方式供
SqlClient给应用程式使用,.NET Framework是直接安装在Windows中给全域使用,而.
NET Core则是能选择任意SqlClient版本随附在应用程式中。
微软想让.NET Framework也使用.NET Core模式,但又不能随意发布
System.Data.SqlClient新套件,因为会造成原本.NET Framework的冲突,所以微软的解
决办法就是提供一个新的Microsoft.Data.SqlClient。Microsoft.Data.SqlClient在.
NET Framework和.NET Core中,支援两个SQL Server的新功能,分别是资料分类以及支援
UTF-8。
微软提到,新套件中的程式码许多还是来自于.NET Core与.NET Framework中的
System.Data.SqlClient,因此支援两者的功能还是有所差异,要把应用程式从.NET
Framework搬移至.NET Core,开发者需要考量部分功能在.NET Core不支援。
将原本使用System.Data.SqlClient的应用程式,转而使用Microsoft.Data.SqlClient并
不困难,只要增加相依项目并更新任何使用的参照就可以了。微软表示,接下来他们会专
注发展Microsoft.Data.SqlClient,补齐.NET Core还缺少的功能,但不会马上放弃支援
System.Data.SqlClient,只会修补错误与安全性问题,不会增加任何新功能,旧有的程
式仍可以继续使用。