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

时间:2008-09-18 15:36:48

标签: c# .net database sqlite

我有点想在C#.Net中使用SQLite,但我似乎无法找到合适的库。有吗?一个正式的?有没有其他方法可以使用SQLite而不是使用包装器?

11 个答案:

答案 0 :(得分:327)

来自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。

答案 1 :(得分:32)

以下是我能找到的内容:

来源:

答案 2 :(得分:26)

现在还有这个选项:http://code.google.com/p/csharp-sqlite/ - SQLite到C#的完整端口。

答案 3 :(得分:15)

来自sqlite.org的人已经接管了ADO.NET提供商的开发:

来自their homepage

  

这是流行的ADO.NET的一个分支   适用于SQLite的4.0适配器,称为System.Data.SQLite。的鼻祖   System.Data.SQLite,Robert Simpson,是   意识到这个叉子,已经表达了他的观点   批准,并具有提交权限   新的Fossil存储库。 SQLite   开发团队打算维护   System.Data.SQLite继续前进。

     

历史版本,以及   原始的支持论坛,可能仍然是   发现于   但是http://sqlite.phxsoftware.com   没有更新   自2010年4月起的版本。

完整的功能列表可在on their wiki找到。亮点包括

  • ADO.NET 2.0支持
  • 完整实体框架支持
  • 完全单声道支持
  • Visual Studio 2005/2008设计时支持
  • Compact Framework,C / C ++支持

发布的DLL可以直接从the site下载。

答案 4 :(得分:8)

我肯定会选择 System.Data.SQLite (如前所述:http://sqlite.phxsoftware.com/

它与ADO.NET(System.Data。*)一致,并被编译为单个DLL。没有sqlite3.dll - 因为SQLite的C代码嵌入在System.Data.SQLite.dll中。一点托管C ++魔术。

答案 5 :(得分:7)

sqlite-net是一个开源的最小库,允许.NET和Mono应用程序在SQLite 3 databases中存储数据。有关更多信息,请访问wiki page

它是用C#编写的,只是简单地与您的项目一起编译。它首先设计用于在iPhone上使用MonoTouch,但已经成长为适用于所有平台(Mono for Android,.NET,Silverlight,WP7,WinRT,Azure等)。

它以Nuget package的形式提供,截至2014年,它是第二个最受欢迎的SQLite包,下载量超过60,000。

sqlite-net被设计为一个快速方便的数据库层。它的设计遵循以下目标:

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

非目标包括:

  • ADO.NET实现。这不是一个完整的SQLite驱动程序。如果需要,请使用System.Data.SQLite。

答案 6 :(得分:2)

Mono附带一个包装纸。 https://github.com/mono/mono/tree/master/mcs/class/Mono.Data.Sqlite/Mono.Data.Sqlite_2.0以.net友好的方式提供代码以包装在下载页面http://www.sqlite.org/sqlite-shell-win32-x86-3071300.zip上找到的实际SQLite dll(http://www.sqlite.org/download.html/)。它适用于Linux或Windows。

这似乎是所有世界中最薄的,最大限度地减少了对第三方图书馆的依赖。如果我必须从头做这个项目,这就是我的方式。

答案 7 :(得分:1)

Microsoft.Data.Sqlite

Microsoft现在提供 Microsoft.Data.Sqlite 作为.NET的第一方SQLite解决方案,它是作为ASP.NET Core的一部分提供的。许可证是Apache License, Version 2.0

* 免责声明:我自己还没有尝试过使用它,但Microsoft Docs here提供了一些文档,可以将它与.NET Core和UWP一起使用。

答案 8 :(得分:0)

Monotouch 1.2版包括对System.Data的支持。你可以在这里找到更多细节: http://monotouch.net/Documentation/System.Data

但基本上它允许你使用常用的ADO .NET模式和sqlite。

答案 9 :(得分:0)

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

dotConnect for SQLite是SQLite的增强型数据提供程序,它基于ADO.NET技术构建,可为开发基于SQLite的数据库应用程序提供完整的解决方案。作为Devart数据库应用程序开发框架的一部分,dotConnect for SQLite提供了与SQLite数据库的高性能本机连接以及许多创新的开发工具和技术。

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

我使用的是标准版,它完美无缺:)

答案 10 :(得分:0)

sqlite库提供的函数的准系统包装器。最新版本支持sqlite库3.7.10提供的功能

SQLiteWrapper project