使用数据库并部署应用程序

时间:2010-04-28 21:50:18

标签: c# wpf database deployment

我有一个WPF应用程序,它将大量信息存储在XML文件中,当用户使用该应用程序时,他们会向XML文件添加更多信息。它基本上使用XML文件作为数据库。因为在程序的整个生命周期中,XML文件已经变得非常庞大,而且我一直在考虑将数据放在网站上,我一直在研究如何将所有信息移动到SQL数据库中。

我已经将SQL数据库与Web应用程序(PHP,Ruby和ASP.NET)一起使用,但从未使用过桌面应用程序。理想情况下,我希望能够将所有信息保存在一个数据库文件中,并将其与应用程序一起分发,而无需用户连接到远程数据库(因此它们不需要互联网连接 - 尽管最终它将是很好,如果可以比较本地文件的版本与一个在线的某个地方,并在必要时更新),而不是让他们在他们的计算机上安装本地数据库服务器。这可能吗?

我还想将LINQ与任何新的数据库解决方案一起使用,因此切换到数据库不会强制进行很多更改(我使用LINQ读取XML)。

我确信这个问题已被提出,并且已经有一些关于这个问题的好教程,但我找不到它们。

2 个答案:

答案 0 :(得分:1)

SQLite是一个很好的嵌入式数据库,您可以随应用程序一起提供。我做的不仅仅是一些原型,所以我个人不能100%肯定地说它会满足你的需求。但是从我所读过的内容以及我所写的内容来看,它似乎适合这项工作。

SQLite Homepage

ADO.NET Provider

答案 1 :(得分:0)

如果你知道你的对象如何组合在一起,你可以序列化它们/反序列化它们以将它们作为一组ProtoBuf对象存储在磁盘上(当然,取决于它们的大小)。我发现这是一个非常简单,优雅的解决方案来存储一组互连的类。应该可以保存的每个类,所有数据都可以使用此方法序列化,然后根据需要进行恢复。

Here是它的.NET链接。

This是我之前提出的一个问题,得到了一些好的答案。