我有一个WPF应用程序,其中包含一个嵌入式SQL Server CE数据库,应用程序用它来存储数据。我计划使用ClickOnce进行部署,但不希望每次用户安装最新版本时都覆盖客户端计算机上的数据库。
如果用户如何在不更新WPF应用程序中的SQL Server CE嵌入式数据库的情况下更新我的应用程序?
此外,如果我需要将表或列添加到客户端应用程序上的现有SQL Server CE嵌入式数据库而不重新创建数据库并且用户丢失其配置,我该怎么做。关于如何解决这些问题的任何想法?
谢谢!
答案 0 :(得分:1)
对于第二个问题:在数据库中包含一个表,其中一行具有单个值,以指示当前的数据库模式版本。
每次启动应用程序时,检查版本是否为预期的,可能更新的版本,如果没有,则检查每个丢失的版本Count,运行ALTER TABLE和CREATE TABLE语句以使数据库保持最新状态。请记住,较新的应用程序可能需要几代升级数据库。