我想扩展具有数据库功能的WPF应用程序。你会建议哪个数据库引擎?为什么? SQLite,SQL CE,其他?
答案 0 :(得分:19)
根据应用程序的使用情况,我建议使用SQL Lite ,因为它不要求您安装任何其他软件(SQL CE或Express等通常需要单独安装)。
本文底部提供商链接中SQL Lite最重要的好处列表:
SQLite是一个小型的C库 实现一个独立的, 可嵌入的零配置SQL 数据库引擎。功能包括:
- 零配置 - 无设置或 需要管理。
- 实现大部分SQL92。 (特征 不支持)
- 完整的数据库存储在 单个磁盘文件。
- 可以自由共享数据库文件 在不同字节的机器之间 订单。
- 支持最多2 TB的数据库 (2 ^ 41字节)大小。
- 小代码占用:小于30K C代码行,小于250KB 代码空间(i486上的gcc)
- 比流行的客户端/服务器更快 最常见的数据库引擎 操作。
- 简单易用的API。
- 自足:没有外在的 的依赖关系。
- 来源属于公共领域。 用于任何目的。
由于您使用的是WPF,我可以假设您至少使用的是.NET 3.0。然后我会建议使用.NET 3.5 SP1(与.NET 3.5大小相同但包含一系列性能改进),其中包括LINQ。
但是,在使用SQLite时,您需要使用以下应提供LINQ支持的SQLite Provider:An open source ADO.NET provider for the SQLite database engine
答案 1 :(得分:18)
我在我的WPF应用程序中使用了SQL Compact Edition,我很满意我的决定。一切正常(因为WPF和SQLCE都是MS,它们可以很好地协同工作),并且运行时的安装足够小,足够平滑以满足我的需求。我通过visual studio创建并修改了数据库。
答案 2 :(得分:9)
只是抛出不同的意见,我们去年一直在使用SQL Compact Edition,并且大体上都满意。配置是cake,它的行为与常规MS SQL数据库非常相似。有些东西缺失,比如触发器和存储过程,但SQL 3.5 CE几乎包含了我们所需要的一切。它大约需要2Mb的.dll才能安装。它提供数据库加密,事务和支持VS的类型化数据集设计器(3.1有一些问题,但CE 3.5很棒!)。
答案 3 :(得分:3)
SQL CE DLL可以打包到您自己的应用程序中,无需单独安装。但是MS提供了一个默认的安装包,如果你不想了解设置......等等。
更多,SQL CE支持私有部署。
答案 4 :(得分:2)
SQLite是一个非常好的产品,虽然我错过了PostgreSQL的功能。您可以像Berkeley DB一样考虑其他特别是非SQL的数据库。
/阿伦
答案 5 :(得分:0)
我同意SQLite是要走的路。 Subsonic 2.1现在也包括SQLite支持。