2

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

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

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

谢谢!

4

1 回答 1

1

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

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

每次启动您的应用程序,检查版本是否是预期的,可能是较新的版本,如果不是,对于每个缺少的版本计数,运行 ALTER TABLE 和 CREATE TABLE 语句以使数据库保持最新。请记住,较新的应用程序可能需要将数据库升级几代。

于 2013-05-11T13:46:08.513 回答