在桌面应用程序中本地使用哪个数据库?

时间:2010-08-10 09:53:22

标签: c# .net database visual-studio

我在桌面应用程序中使用数据库有两种不同的选择。我更喜欢本地的基于服务的数据库。但是我应该使用本地数据库吗?

5 个答案:

答案 0 :(得分:6)

最佳集成在.Net / VS环境中的是MS SQL Compact:

http://en.wikipedia.org/wiki/SQL_Server_Compact

但还有其他选择:

http://en.wikipedia.org/wiki/SQLite

Is there a .NET/C# wrapper for SQLite?

答案 1 :(得分:3)

通常取决于它的部署位置。如果您在一个您控制的环境中部署它,我通常会使用基于服务的环境,但如果您需要将其发送给客户端,则取决于客户端。拥有技术人员的客户可能希望基于服务,但如果是一个没有技术人员/知识而只想点击并运行的小客户,那么本地数据库可能是最好的。

答案 2 :(得分:3)

取决于进一步的要求。

基于服务器:MS-SQL Express。与大型版本基本相同的引擎,当您需要更大版本时,这将很好地扩展。请注意,存在附加文件模式,这意味着您无需使用服务器永久注册每个数据库。

Local:SQL Compact Editon,基于嵌入式文件的解决方案。部署更容易,但不是100%向上兼容。基本上是单用户解决方案(但随着v4将会改变)

答案 3 :(得分:3)

对于桌面应用程序,您应该考虑使用Sqlite和C#包装器库here,我一直在项目中使用它,它工作得很好,易于使用,快速,所有内容都放在一个文件中

它不是为多用户环境设计的,因此您不希望将其用作Web服务后端的数据库。

我还使用NHibernate和NHibernate.Linq与数据交互,你可以在这里获得两者兼容的构建:http://www.dennisdoomen.net/2009/07/nhibernate-210-ga-with-linq-and-fluent.html

答案 4 :(得分:2)

您必须查看Firebird