我想扩展具有数据库功能的WPF应用程序.你会建议哪个数据库引擎?为什么?SQLite,SQL CE,其他?
根据应用程序的使用,我建议使用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时,您可能希望使用以下SQLite提供程序,该提供程序应提供LINQ支持:SQLite数据库引擎的开源ADO.NET提供程序
我在我的WPF应用程序中使用了SQL Compact Edition,我很满意我的决定.一切正常(因为WPF和SQLCE都是MS,它们可以很好地协同工作),并且运行时的安装足够小,足够平滑以满足我的需求.我通过visual studio创建并修改了数据库.
只是为了抛出不同意见,我们去年一直在使用SQL Compact Edition,并且大体上都满意.配置是cake,它的行为与常规MS SQL数据库非常相似.有些东西缺失,比如触发器和存储过程,但SQL 3.5 CE几乎包含了我们所需要的一切.它大约需要2Mb的.dll才能安装.它提供数据库加密,事务和支持VS的类型化数据集设计器(3.1有一些问题,但CE 3.5很棒!).