使用嵌入式SQL Server CE数据库更新WPF应用程序

时间:2013-05-11 00:53:16

标签: sql wpf sql-server-ce clickonce embedded-database

我有一个WPF应用程序,其中包含一个嵌入式SQL Server CE数据库,应用程序用它来存储数据。我计划使用ClickOnce进行部署,但不希望每次用户安装最新版本时都覆盖客户端计算机上的数据库。

如果用户如何在不更新WPF应用程序中的SQL Server CE嵌入式数据库的情况下更新我的应用程序?

此外,如果我需要将表或列添加到客户端应用程序上的现有SQL Server CE嵌入式数据库而不重新创建数据库并且用户丢失其配置,我该怎么做。关于如何解决这些问题的任何想法?

谢谢!

1 个答案:

答案 0 :(得分:1)

问题1,请参阅http://robindotnet.wordpress.com/2009/08/19/where-do-i-put-my-data-to-keep-it-safe-from-clickonce-updates/

对于第二个问题:在数据库中包含一个表,其中一行具有单个值,以指示当前的数据库模式版本。

每次启动应用程序时,检查版本是否为预期的,可能更新的版本,如果没有,则检查每个丢失的版本Count,运行ALTER TABLE和CREATE TABLE语句以使数据库保持最新状态。请记住,较新的应用程序可能需要几代升级数据库。