我在桌面应用程序中使用数据库有两种不同的选择。我更喜欢本地的基于服务的数据库。但是我应该使用本地数据库吗?
答案 0 :(得分:6)
最佳集成在.Net / VS环境中的是MS SQL Compact:
http://en.wikipedia.org/wiki/SQL_Server_Compact
但还有其他选择:
答案 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