2011-10-01 96 views
0

我想构建一个wpf应用程序(使用mvvm dp),并且需要管理一个客户列表(最多200个客户) 建议如何处理此问题? sql(mySql,sqlServer)或其他方式(xml,excel,access)?推荐用于wpf应用程序,sql数据库或xml

我可以看到优势,XML,因为它不需要另外安装

+0

你有多少个并发用户?此应用程序是否可以同时在多台机器上运行,或者只有一台运行?你需要与任何其他实体共享数据,如果有,如何?除了客户名单之外,您是否需要管理其他类型的数据?每个客户记录包含哪些数据? –

+2

如果您在单台计算机上使用单用户应用程序,为什么不使用**嵌入**数据库,如[SQL Server Compact Edition](http://www.microsoft.com/sqlserver/en/us /editions/compact.aspx)??没有安装(作为一个进程内DLL与你的应用程序复制),你仍然有一个(主要)完整的数据库.... –

+0

@MichaelPetrotta它需要成为一个用户(但不一定)。一台机器。你的意思是与其他实体分享什么? – Maya

回答

1

如果你有在不同机器上的多个用户,并且这些机器有一个持久的,共享的网络连接(他们是在同一网络上,例如),那么你应该更喜欢使用一个中央数据库,像(如你所说)SQL Server或MySQL。后者是免费的,前者可在free edition (Express)中获得轻量级工作负载。

如果您不需要在应用程序的不同用户之间共享数据(您不介意他们的客户数据不同步),那么请查看轻量级嵌入式数据库,如SQLiteSQL Server Compact Edition。非常简单易于安装和维护,但数据保持在单台机器上。

您可以围绕不同机器之间的手动同步构建一个基础架构,有点像iTunes在电脑和iPhone之间同步数据,但是相信我,如果可能,最好避免这么多工作。数据库中有许多内置的多用户操作逻辑,您可以在所有可能的情况下利用这些逻辑。

+0

你可以解释我为什么你不喜欢XML解决方案? (如果我不分享数据,我只有一个用户) – Maya

+1

好吧,没有什么真正的*错误*将数据存储为XML。包括我在内的许多开发人员都这样做。尽管(比如[ConfigurationSections](http://msdn.microsoft.com/en-us/library/2tw134k3.aspx)),我倾向于使用带有XML的现有序列化库。我经常看起来比XML快得多,并希望从一开始就拥有数据库的强大功能。此外,数据库使[关系存储](http://en.wikipedia.org/wiki/Relational_model)变得更容易。 –

1

如果您需要坚持的唯一一件事情是列表中的200个项目,并且您不会在未来看到任何其他持久性数据需求,我会说平面文件很多。但是,这也取决于检索小数据的频率。

我是SQL Server的支持者,Express是免费的。但是你不想过度使用这个问题。除非我误解了你的问题,那是我的评价。

相关问题