是否有SQLite的.NET / C#包装器?

Is there a .NET/C# wrapper for SQLite?

我有点喜欢在C.NET中使用sqlite,但似乎找不到合适的库。有吗?正式的吗?除了包装之外,还有其他方法可以使用sqlite吗?


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

System.Data.SQLite is an ADO.NET adapter for SQLite.

System.Data.SQLite was started by Robert Simpson. Robert still has commit privileges on this repository but is no longer an active contributor. Development and maintenance work is now mostly performed by the SQLite Development Team. The SQLite team is committed to supporting System.Data.SQLite long-term.

"system.data.sqlite SQLite数据库引擎是原始和完整的ADO.NET 2.0提供商所有卷成一单混合模式的组装。这是一个完整的下拉式在替代原sqlite3.dll(你甚至可以将它sqlite3.dll)。不同于正常的混合组件,它连接在.NET运行时NO依赖性,所以它可以分布独立学院"。

它甚至支持单声道。


这里是一个可以找到:

  • SQLite的管理
  • sqlite.net包装
  • system.data.sqlite

来源:

  • sqlite.org
  • 其他海报


现在也有这样的选项:http://code.google.com / P / /完整的csharp SQLite SQLite C #到港。


这是一个sqlite.org接管《ADO.NET提供者:开发

从他们的网站:

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支持
  • 实体框架支持全
  • 支持全单
  • Visual Studio 2005/2008的设计时间支持
  • 紧凑框架的C / C + +支持

释放的DLL可以直接从网站上下载。


我很享受跟system.data.sqlite(AS以前提到的:http://sqlite.phxsoftware.com/)

它是一致的与ADO.NET(system.data。*),和一个单一的DLL的函式。因为没有sqlite3.dll SQLite嵌入式C代码是在system.data.sqlite.dll。位的托管C + +魔术。


sqlite net是一个开放源代码的最小库,允许.NET和mono应用程序在sqlite 3数据库中存储数据。更多信息请访问wiki页面。

它是用C编写的,只需与您的项目一起编译。它最初是为在iPhone上使用MonoTouch而设计的,但现在已经发展到可以在所有平台上工作了(Mono用于Android,.net,Silverlight,WP7,Winrt,Azure等)。

它作为nuget包提供,是截至2014年下载量超过60000次的第二大最受欢迎的sqlite包。

sqlite net是一个快速、方便的数据库层。其设计遵循以下目标:

  • 非常容易与现有项目和单触式项目集成。
  • 薄包装在sqlite上,应该是快速和高效的。(库不应成为查询的性能瓶颈。)
  • 用于安全地执行CRUD操作和查询(使用参数)以及以强类型方式检索这些查询结果的非常简单的方法。
  • 使用数据模型而不强制更改类。(包含一个小的反射驱动ORM层。)
  • 除了已编译的sqlite2库形式之外,还有0个依赖项。

非目标包括:

  • 不是ADO.NET实现。这不是完整的sqlite驱动程序。如果需要,请使用system.data.sqlite。


单是一个包装。http://github.com /单/树/主/单/ / / / mono.data.sqlite类MCS mono.data.sqlite _ 2.0代码包的实际,对SQLite的DLL(http://www.sqlite.org / sqlite-shell-win32-x86-3071300.zip下载页上找到www.sqlite.org http:////a。download.html)在友好的方式。它在Linux或Windows。

这似乎是所有minimizing thinnest世界,在第三方库的依赖性。如果我有这样做的项目从零开始,这是我喜欢的方式做它。


对于像我这样不需要或不想要ado.net的人,那些需要运行更接近sqlite的代码,但仍然兼容netstandard(.net framework,.net core等),我已经构建了一个100%免费的开源项目sqlnado(用于"非ado"),可在Github上获得:

https://github.com/smourier/sqlnado

它在这里作为nuget提供https://www.nuget.org/packages/sqlnado,但也可以作为单个.c s文件提供,因此在任何c项目类型中都可以使用。

它在使用SQL命令时支持所有的sqlite功能,并通过.NET支持大多数sqlite功能:

  • 自动类到表的映射(save、delete、load、loadall、loadbyprimarykey、loadbyforeignkey等)
  • 类与现有表之间架构(表、列)的自动同步
  • 专为线程安全操作设计
  • 其中和orderby-linq/iqueryable.net表达式受支持(此领域的工作仍在进行中),还支持排序规则
  • 暴露于.NET的SQLite数据库架构(表、列等)
  • sqlite自定义函数可以用.NET编写
  • sqlite增量blob I/O公开为.NET流,以避免高内存消耗。
  • 支持sqlite排序规则,包括使用.NET代码添加自定义排序规则的可能性
  • sqlite全文搜索引擎(fts3)支持,包括使用.NET代码添加自定义fts3标记器的可能性(例如本地化的停止字)。我不相信其他的.NET包装器会这样做。
  • 自动支持Windows"winsqlite3.dll"(仅限最新的Windows版本),以避免传送任何二进制依赖文件。这也适用于Azure Web应用程序!.

微软.data.sqlite

Microsoft现在提供Microsoft.Data.sqlite作为.NET的第一方sqlite解决方案,该解决方案作为ASP.NET核心的一部分提供。许可证是Apache许可证,版本2.0。

  • NuGET包
  • Github上的源报告

*免责声明:我自己还没有尝试过使用它,但是这里提供了一些关于Microsoft文档的文档,用于将它与.NET核心和UWP一起使用。


a准系统的职能,为包装提供的SQLite库。最新版本支持SQLite库函数提供3.7.10

sqlitewrapper项目


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

dotconnect for SQLite SQLite是一个增强的数据提供商,为建立在ADO.NET技术发展到现在一个完整的解决方案基于SQLite的数据库应用程序。as a Part of the devart数据库应用开发框架,dotconnect for both提供高性能的本地SQLite SQLite数据库和连接到作为创新的开发工具和技术。

介绍了新方法的研究dotconnect SQLite的应用架构设计,有生产力和leverages数据库应用的实现。

我使用的一个标准的版本,它的作品完美。


1.2版本(包括system.data monotouch的支持。在这里你可以找到更多的细节:http://monotouch.net /文件/ system.data

但基本上,它允许你使用ADO。NET和SQLite的正常模式。