我有点喜欢从c#中使用SQLite。Net,但我似乎找不到合适的图书馆。有吗?官方的?除了使用包装器,还有其他方法使用SQLite吗?


当前回答

对于那些像我一样不需要或不想要ADO的人。NET,那些需要运行更接近SQLite的代码,但仍然兼容netstandard (. NET framework, . NET core等)的人,我已经建立了一个100%免费的开源项目,名为SQLNado(“非ADO”),可在github:

https://github.com/smourier/SQLNado

它可以作为一个nuget在这里https://www.nuget.org/packages/SqlNado,但也可以作为一个单独的。cs文件,所以在任何c#项目类型中使用它都非常实用。

当使用SQL命令时,它支持所有SQLite特性,并且通过.NET也支持大多数SQLite特性:

Automatic class-to-table mapping (Save, Delete, Load, LoadAll, LoadByPrimaryKey, LoadByForeignKey, etc.) Automatic synchronization of schema (tables, columns) between classes and existing table Designed for thread-safe operations Where and OrderBy LINQ/IQueryable .NET expressions are supported (work is still in progress in this area), also with collation support SQLite database schema (tables, columns, etc.) exposed to .NET SQLite custom functions can be written in .NET SQLite incremental BLOB I/O is exposed as a .NET Stream to avoid high memory consumption SQLite collation support, including the possibility to add custom collations using .NET code SQLite extensions (.dll) loading support SQLite Full Text Search engine (FTS3) support, including the possibility to add custom FTS3 tokenizers using .NET code (like localized stop words for example). I don't believe any other .NET wrappers do that. Automatic support for Windows 'winsqlite3.dll' (only on recent Windows versions) to avoid shipping any binary dependency file. This works in Azure Web apps too!.

其他回答

http://www.devart.com/dotconnect/sqlite/

dotConnect for SQLite是一个基于ADO的增强的SQLite数据提供程序。NET技术为开发基于sqlite的数据库应用程序提供了一个完整的解决方案。作为Devart数据库应用程序开发框架的一部分,dotConnect for SQLite既提供了到SQLite数据库的高性能本机连接,也提供了许多创新的开发工具和技术。

SQLite的dotConnect引入了设计应用程序架构的新方法,提高了工作效率,并利用了数据库应用程序实现。

我使用标准版本,它工作完美:)

来自sqlite.org的人们已经接管了ADO的开发。净提供者:

在他们的主页上:

This is a fork of the popular ADO.NET 4.0 adaptor for SQLite known as System.Data.SQLite. The originator of System.Data.SQLite, Robert Simpson, is aware of this fork, has expressed his approval, and has commit privileges on the new Fossil repository. The SQLite development team intends to maintain System.Data.SQLite moving forward. Historical versions, as well as the original support forums, may still be found at http://sqlite.phxsoftware.com, though there have been no updates to this version since April of 2010.

完整的功能列表可以在他们的维基上找到。亮点包括

ADO。NET 2.0支持 完整的实体框架支持 完全支持Mono Visual Studio 2005/2008设计时支持 紧凑框架,C/ c++支持

已发布的dll可以直接从站点下载。

从https://system.data.sqlite.org:

System.Data.SQLite是ADO。SQLite的NET适配器。 sqlite是由Robert Simpson创建的。Robert仍然拥有此存储库上的提交特权,但不再是活动贡献者。开发和维护工作现在主要由SQLite开发团队执行。SQLite团队致力于长期支持System.Data.SQLite。

“System.Data。SQLite是原始的SQLite数据库引擎和一个完整的ADO。NET 2.0提供程序全部滚入一个混合模式程序集。它完全取代了原来的sqlite3.dll(您甚至可以将其重命名为sqlite3.dll)。与普通的混合程序集不同,它不依赖于。net运行时,因此可以独立于。net进行分发。”

它甚至支持Mono。

Microsoft.Data.Sqlite

微软现在提供Microsoft. data . SQLite作为。net的第一方SQLite解决方案,它是作为ASP. net的一部分提供的。净的核心。该许可证是Apache许可证,版本2.0。

NuGet包 在GitHub上的源回购

*免责声明:我自己还没有尝试过使用它,但是在微软文档中提供了一些关于。net Core和UWP使用它的文档。

由sqlite库提供的函数的基本包装器。最新版本支持sqlite库3.7.10提供的函数

SQLiteWrapper项目