我想在C#.Net中使用SQLite,但是我找不到合适的库。有官方的库吗?除了包装器,还有其他使用SQLite的方法吗?
来自https://system.data.sqlite.org:
System.Data.SQLite是SQLite的一个ADO.NET适配器。
System.Data.SQLite由Robert Simpson开始。Robert仍然有此存储库的提交权限,但不再是活跃贡献者。开发和维护工作现在主要由SQLite开发团队执行。SQLite团队致力于长期支持System.Data.SQLite。
"System.Data.SQLite是原始的SQLite数据库引擎和完整的ADO.NET 2.0提供程序,全部包含在单个混合模式程序集中。它是原始sqlite3.dll的完全替代(甚至可以将其重命名为sqlite3.dll)。与普通混合程序集不同的是,它没有对.NET运行时的链接器依赖,因此可独立于.NET分发。"
它甚至支持Mono。
来自sqlite.org的人已经接管了ADO.NET提供程序的开发:
从他们的主页:
这是流行的ADO.NET 4.0适配器System.Data.SQLite的一个分支。System.Data.SQLite的创始人Robert Simpson知道这个分支,表达了他的赞同,并在新的Fossil存储库上拥有提交特权。SQLite开发团队打算继续维护System.Data.SQLite。
历史版本以及原始支持论坛仍可在http://sqlite.phxsoftware.com找到,但该版本自2010年4月以来没有更新。
完整功能列表可以在他们的wiki上找到。亮点包括
发布的DLL可以直接从该网站下载。
SQLite-net是一个开源的、极简的库,允许.NET和Mono应用程序在SQLite 3数据库中存储数据。更多信息请参见wiki页面。
它是用C#编写的,并且旨在与您的项目一起简单编译。它最初是为在iPhone上使用的MonoTouch而设计的,但现在已经发展到可以在所有平台上使用(Mono for Android,.NET,Silverlight,WP7,WinRT,Azure等)。
它作为Nuget包提供,截至2014年,它是第二受欢迎的SQLite包,已经被下载了超过60,000次。
sqlite-net被设计为快速方便的数据库层。其设计遵循以下目标:
非目标包括:
我一定会选择 System.Data.SQLite(如先前提到的:http://sqlite.phxsoftware.com/)。
它与 ADO.NET (System.Data.*) 兼容,并编译为单个 DLL。不需要 sqlite3.dll - 因为 SQLite 的 C 代码嵌入在 System.Data.SQLite.dll 中。这是一种受控 C++ 魔法。
微软现在提供了 Microsoft.Data.Sqlite 作为.NET的第一方SQLite解决方案,该解决方案作为ASP.NET Core的一部分提供。许可证是Apache License,Version 2.0。
* 免责声明:我自己还没有尝试使用过这个,但是Microsoft Docs提供了一些文档,这里可以用于.NET Core和UWP。
Monotouch 1.2版本包括了System.Data的支持。你可以在这里找到更多详细信息:http://monotouch.net/Documentation/System.Data
基本上,它允许你使用常规的ADO .NET模式与sqlite一起使用。