System.Data.SQLite 和 Microsoft.Data.Sqlite 之间有什么区别?
我了解到 System.Data.SQLite 是旧版本,后来在 Microsoft.Data.Sqlite 之后支持了 .NETStandard,但现在两者都支持 .NETStandard 2。
它们之间的优势是什么?
System.Data.SQLite 和 Microsoft.Data.Sqlite 之间有什么区别?
我了解到 System.Data.SQLite 是旧版本,后来在 Microsoft.Data.Sqlite 之后支持了 .NETStandard,但现在两者都支持 .NETStandard 2。
它们之间的优势是什么?
我在一个项目中尝试了System.Data.SQLite 和 Microsoft.Data.SQLite,并进行了真实世界的性能测试,结果表明当批量插入数据时,System.Data.SQLite比Microsoft.Data.Sqlite快3倍。
其他关键点
Microsoft.Data.SQLite
在 .NET 运行时中也没有本地支持,因此在这里没有优势。您仍然需要将其他 .dll 文件附加到项目中(MS 的版本需要更多)。System.Data.SQLite
来自 sqlite.org,更新更快,有真正的 Standard 2.1
版本,而 Microsoft.Data.SQLite
目前仍然是 Standard 2.0
(截至2022年9月)。System.Data.SQLite
依赖性更少,只需 MS Visual C++ Redistributable
。而 Microsoft.Data.SQLite
则取决于 SQLitePCLRaw.core
和 Microsoft.Data.Sqlite.Core
。更新:
关于 SQLite,我让它听起来比实际上容易些,我花了一些时间才弄清楚要使用哪个 SQLite 包。
但是,要手动管理这两个 dll,您可以获取包Stub.System.Data.SQLite.Core.NetStandard,提取它(例如 7z),并引用托管的System.Data.SQLite.dll
,然后将未托管(本地)的 SQLite.Interop.dll
附加上去。