我有一个WPF应用程序,它将大量信息存储在XML文件中,当用户使用应用程序时,他们会向XML文件添加更多信息。它基本上使用XML文件作为数据库。自从程序生命周期以来,XML文件变得非常庞大,我一直在考虑将数据放在网站上,我一直在研究如何将所有信息移动到SQL数据库中。使用数据库并部署应用程序
我已经使用SQL数据库与Web应用程序(PHP,Ruby和ASP.NET),但从来没有与桌面应用程序。理想情况下,我希望能够将所有信息保存在一个数据库文件中,并将其与应用程序一起分发,而无需用户连接到远程数据库(因此它们不需要互联网连接 - 尽管最终它会是不错,如果可以将本地文件的版本与某个在线的某个在线进行比较,并在必要时进行更新),而不必让他们在其计算机上安装本地数据库服务器。这可能吗?
我还想用任何新的数据库解决方案使用LINQ,所以切换到数据库不会强制许多更改(我用LINQ读取XML)。
我敢肯定这个问题已被问及已经有一些关于这个主题的很好的教程,但我找不到它们。
猜测这应该是一个全新的问题,并且可能很愚蠢,但ADO.NET和LINQ如何融合在一起?我印象深刻LINQ是一个更新的数据库访问层,意在取代ADO.NET,还是与ADO.NET兼容?谢谢,并感谢您建议SQLite! – evan 2010-04-28 22:15:14
http://msdn.microsoft.com/en-us/library/bb399365.aspx – 2010-04-28 22:56:30
使用[System.Data.SQLite](http://sqlite.phxsoftware.com/),您可以使用Linq-To-Sql或Linq-To-Entities。我在最近的项目中使用了SQLite和Entity Framework,它的工作非常好。对于本地桌面应用程序的需求,这绝对是好事。没有数据库服务器安装,没有大惊小怪。我甚至运行了一些内部测试,并且约有300K的相同行,在某些查询中,SQLite的性能比SQL Server 2008 Express高出2.5倍-3倍。 – wpfwannabe 2010-04-29 07:26:51