已部署SQL compact数据库的实体框架迁移

已部署SQL compact数据库的实体框架迁移,sql,entity-framework,deployment,entity-framework-4,sql-server-ce,Sql,Entity Framework,Deployment,Entity Framework 4,Sql Server Ce,我的情况:EF4.3,SQL Compact 4的私有安装,.Net FW 4,c#winform 问题:在部署应用程序之后,不可避免地需要进行更改,这要求我在SQL compact数据库中唯一的表中创建一个新字段。在应用程序安装过程中,SQL compact db被放置在用户的应用程序数据文件夹中,以便能够成功写入。我更新了程序并重新部署,但出现了以下行为: 卸载旧版本的应用程序不会卸载用户应用程序数据文件夹中的SQL compact db 安装应用程序的更新版本不会覆盖用户应用程序中的旧S

我的情况:EF4.3,SQL Compact 4的私有安装,.Net FW 4,c#winform

问题:在部署应用程序之后,不可避免地需要进行更改,这要求我在SQL compact数据库中唯一的表中创建一个新字段。在应用程序安装过程中,SQL compact db被放置在用户的应用程序数据文件夹中,以便能够成功写入。我更新了程序并重新部署,但出现了以下行为:

  • 卸载旧版本的应用程序不会卸载用户应用程序数据文件夹中的SQL compact db
  • 安装应用程序的更新版本不会覆盖用户应用程序中的旧SQL Compact db
由于添加了列的新数据库不会被复制,因此当用户运行应用程序时,它会破坏应用程序。我的研究表明我应该使用“自动EF迁移”来解决我的问题。在我的情况下,我想要的策略是快速检查db表,并在必要时添加缺少的列

我使用EF数据库的第一种方式。我很难找到一个适合我的情况和我想要的解决策略的好例子


任何帮助都将不胜感激!:-)

我认为EF迁移与您的问题无关。根据,如果您一步一步地遵循ClickOnce教程,它应该会起作用。正如SO答案所建议的,您应该检查。祝你好运