我有点想在C#.Net中使用SQLite,但我似乎无法找到合适的库 . 有吗?一个正式的?有没有其他方法可以使用SQLite而不是使用包装器?
以下是我能找到的:
managed-sqlite
SQLite.NET包装器
System.Data.SQLite
资料来源:
sqlite.org
其他海报
现在还有这个选项:http://code.google.com/p/csharp-sqlite/ - SQLite到C#的完整端口 .
来自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提供程序的开发:
来自their homepage:
这是SQLite流行的ADO.NET 4.0适配器的一个分支,称为System.Data.SQLite . System.Data.SQLite的发起人罗伯特辛普森知道这个分支,表示了他的认可,并且对新的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下载 .
我绝对会选择 System.Data.SQLite (如前所述:http://sqlite.phxsoftware.com/)
它与ADO.NET(System.Data . *)一致,并编译为单个DLL . 没有sqlite3.dll - 因为SQLite的C代码嵌入在System.Data.SQLite.dll中 . 一点托管C魔法 .
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依赖项 .
非目标包括:
Mono配有一个包装纸 . https://github.com/mono/mono/tree/master/mcs/class/Mono.Data.Sqlite/Mono.Data.Sqlite_2.0以.net友好的方式提供代码来包装实际的SQLite dll(http://www.sqlite.org/sqlite-shell-win32-x86-3071300.zip在下载页面http://www.sqlite.org/download.html/上找到) . 它适用于Linux或Windows .
这似乎是所有世界中最薄的,最大限度地减少了对第三方图书馆的依赖 . 如果我必须从头开始做这个项目,这就是我这样做的方式 .
Microsoft现在提供 Microsoft.Data.Sqlite 作为.NET的第一方SQLite解决方案,它是作为ASP.NET Core的一部分提供的 . 许可证是Apache License, Version 2.0 .
NuGet package
Source repo on GitHub
*免责声明:我自己还没有尝试过使用它,但是Microsoft Docs here上提供了一些文档,用于将其与.NET Core和UWP一起使用 .
对于那些不喜欢ADO.NET的人来说,那些需要运行代码更接近SQLite但仍然与 netstandard (.net框架,.net核心等)兼容的人,我已经 Build 了100%免费开放在github上可以找到名为 SQLNado (for "Not ADO")的源项目:
netstandard
https://github.com/smourier/SQLNado
注意:它不是今天的nuget,而是作为一个单个.cs文件,因此在任何C#项目类型中使用都非常实用 .
Monotouch 1.2版包括对System.Data的支持 . 你可以在这里找到更多细节:http://monotouch.net/Documentation/System.Data
但基本上它允许您使用通常的ADO .NET模式与sqlite .
http://www.devart.com/dotconnect/sqlite/
dotConnect for SQLite是SQLite的增强型数据提供程序,它基于ADO.NET技术构建,为开发基于SQLite的数据库应用程序提供了完整的解决方案 . 作为Devart数据库应用程序开发框架的一部分,dotConnect for SQLite提供了与SQLite数据库的高性能本机连接以及许多创新的开发工具和技术 .
dotConnect for SQLite引入了新的方法来设计应用程序架构,提高 生产环境 力并利用数据库应用程序实现 .
我使用标准版,它的工作完美:)
sqlite库提供的函数的准系统包装器 . 最新版本支持sqlite库3.7.10提供的功能
SQLiteWrapper project
12 回答
以下是我能找到的:
managed-sqlite
SQLite.NET包装器
System.Data.SQLite
资料来源:
sqlite.org
其他海报
现在还有这个选项:http://code.google.com/p/csharp-sqlite/ - SQLite到C#的完整端口 .
来自https://system.data.sqlite.org:
“System.Data.SQLite是原始的SQLite数据库引擎和一个完整的ADO.NET 2.0提供程序,它们都集成到一个混合模式程序集中 . 它是原始sqlite3.dll的完全替代品(你甚至可以将它重命名为sqlite3.dll) . 与普通的混合程序集不同,它在.NET运行时没有链接器依赖,所以它可以独立于.NET进行分发 . “
它甚至支持Mono .
来自sqlite.org的人们已经接管了ADO.NET提供程序的开发:
来自their homepage:
完整的功能列表可在on their wiki找到 . 亮点包括
ADO.NET 2.0支持
完整实体框架支持
完全单声道支持
Visual Studio 2005/2008设计时支持
Compact Framework,C / C支持
发布的DLL可以直接从the site下载 .
我绝对会选择 System.Data.SQLite (如前所述:http://sqlite.phxsoftware.com/)
它与ADO.NET(System.Data . *)一致,并编译为单个DLL . 没有sqlite3.dll - 因为SQLite的C代码嵌入在System.Data.SQLite.dll中 . 一点托管C魔法 .
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依赖项 .
非目标包括:
Mono配有一个包装纸 . https://github.com/mono/mono/tree/master/mcs/class/Mono.Data.Sqlite/Mono.Data.Sqlite_2.0以.net友好的方式提供代码来包装实际的SQLite dll(http://www.sqlite.org/sqlite-shell-win32-x86-3071300.zip在下载页面http://www.sqlite.org/download.html/上找到) . 它适用于Linux或Windows .
这似乎是所有世界中最薄的,最大限度地减少了对第三方图书馆的依赖 . 如果我必须从头开始做这个项目,这就是我这样做的方式 .
Microsoft.Data.Sqlite
Microsoft现在提供 Microsoft.Data.Sqlite 作为.NET的第一方SQLite解决方案,它是作为ASP.NET Core的一部分提供的 . 许可证是Apache License, Version 2.0 .
NuGet package
Source repo on GitHub
*免责声明:我自己还没有尝试过使用它,但是Microsoft Docs here上提供了一些文档,用于将其与.NET Core和UWP一起使用 .
对于那些不喜欢ADO.NET的人来说,那些需要运行代码更接近SQLite但仍然与
netstandard
(.net框架,.net核心等)兼容的人,我已经 Build 了100%免费开放在github上可以找到名为 SQLNado (for "Not ADO")的源项目:https://github.com/smourier/SQLNado
注意:它不是今天的nuget,而是作为一个单个.cs文件,因此在任何C#项目类型中使用都非常实用 .
Monotouch 1.2版包括对System.Data的支持 . 你可以在这里找到更多细节:http://monotouch.net/Documentation/System.Data
但基本上它允许您使用通常的ADO .NET模式与sqlite .
http://www.devart.com/dotconnect/sqlite/
dotConnect for SQLite是SQLite的增强型数据提供程序,它基于ADO.NET技术构建,为开发基于SQLite的数据库应用程序提供了完整的解决方案 . 作为Devart数据库应用程序开发框架的一部分,dotConnect for SQLite提供了与SQLite数据库的高性能本机连接以及许多创新的开发工具和技术 .
dotConnect for SQLite引入了新的方法来设计应用程序架构,提高 生产环境 力并利用数据库应用程序实现 .
我使用标准版,它的工作完美:)
sqlite库提供的函数的准系统包装器 . 最新版本支持sqlite库3.7.10提供的功能
SQLiteWrapper project