如何安全删除Compact SQL数据库迁移历史记录

时间:2019-06-13 19:45:55

标签: c# wpf entity-framework-6 sql-server-ce

我正在开发利用SQL Server Compact 4.0数据库的WPF应用程序。在本项目的过程中,我们对模型结构进行了一些更改,其中包括许多基于代码的更改,后来又进行了自动迁移。它们全部存储在_MigrationHistory表中,并由几个迁移类表示。

现在看来,我需要对模型进行大量更改。由于该应用程序仍处于开发阶段,因此不必担心在数据库中删除数据。我想摆脱以前的整个迁移历史,并开始一个新的干净模型。所以我的问题是,要删除整个迁移历史记录,并在将来通过自动迁移开始新的历史记录,需要采取哪些步骤。

必须删除项目的哪些部分以及如何安全地进行?

1 个答案:

答案 0 :(得分:0)

首先请确保已备份项目,并且还备份了数据库。万一出问题了。

如果您的项目是首先使用实体框架代码设置的,

在项目中,您可以删除“迁移”文件夹中的所有迁移文件,但使用实体框架的项目中包含的“ MigrationConfiguration.cs”除外。

如果您不希望删除数据库,则继续进行操作并删除整个数据库,然后创建一个新名称相同的名称,该名称与在项目的配置文件中的数据库上下文连接字符串中配置的名称相同。 / p>

通过在软件包管理器控制台“ add-migration”中键入命令并提供名称来重建解决方案并创建新的迁移。这将创建一个新迁移,以为所有代码优先模型创建数据库。如果生成的迁移文件看起来正确,请在程序包管理器中运行“ update-database”,以将迁移应用于空数据库。