我想使用数据库功能扩展 WPF 应用程序。您建议使用哪种数据库引擎?为什么?SQLite、SQL CE 还是其他?

有帮助吗?

解决方案

根据应用程序的使用, 我建议使用 SQL Lite 因为它不需要您安装任何其他软件(SQL CE 或 Express 等)。通常需要单独安装)。

本文底部的提供程序链接列出了 SQL Lite 最重要的优势:

SQLITE是一个小型C库,它实现了独立的,可嵌入的,零配置的SQL数据库引擎。特点包括:

  • 零配置 - 无需设置或管理。
  • 实现大部分 SQL92。(不支持功能)
  • 完整的数据库存储在单个磁盘文件中。
  • 数据库文件可以在具有不同字节订单的机器之间自由共享。
  • 支持数据库的大小最多2 t trabytes(2^41个字节)。
  • 代码占用空间小:小于30k的C代码线,小于250kb代码空间(I486上的GCC)
  • 对于大多数常见操作,比流行的客户/服务器数据库发动机快。
  • 简单、易于使用的API。
  • 独立的:没有外部依赖性。
  • 来源属于公共领域。用于任何目的。

由于您使用的是 WPF,我可以假设您至少使用 .NET 3.0。然后,我建议使用 .NET 3.5 SP1(与 .NET 3.5 大小相同,但包含大量性能改进),其中包括 LINQ。

然而,当使用 SQLite 时,您可能需要使用以下 SQLite Provider,它应该提供 LINQ 支持: SQLite 数据库引擎的开源 ADO.NET 提供程序

其他提示

我在 WPF 应用程序中使用了 SQL Compact Edition,我对自己的决定感到满意。一切都正常(因为 WPF 和 SQLCE 都是 MS,它们可以很好地协同工作),并且运行时的安装足够小且足够流畅,足以满足我的需求。我通过 Visual Studio 创建并修改了数据库。

只是为了提出不同的意见,我们去年一直在使用 SQL Compact Edition,并且总体上感到满意。配置非常简单,其行为与常规 MS SQL 数据库非常相似。虽然缺少一些东西,例如触发器和存储过程,但 SQL 3.5 CE 几乎拥有我们需要的所有其他东西。需要安装大约 2Mb 的 .dll。它提供数据库加密、事务处理,并支持 VS 的类型化数据集设计器(3.1 有一些问题,但 CE 3.5 很棒!)。

SQL CE DLL 可以打包到您自己的应用程序中,无需单独安装。但是 MS 提供了默认安装包,如果您不想了解安装...等。

更重要的是,SQL CE 支持私有部署。

SQLite 是一个非常好的产品,尽管我怀念 PostgreSQL 的功能。您还可以考虑其他数据库,尤其是非 SQL 数据库,例如 Berkeley DB。

/艾伦

我同意 SQLite 是正确的选择。Subsonic 2.1 现在还包括 SQLite 支持。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top