在没有迁移文件的情况下迁移 Entity Framework

Migrating Entity Framework without Migration Files

我正在开发一个项目,该项目首先使用 Entity Framework 代码作为其数据结构。它是先用代码创建的,但再也没有迁移过,只存储了它的初始迁移数据。此后直接在VS2015中通​​过server explorer修改数据库

没有关于任何更改的迁移信息,数据库中有我不能丢失的关键信息。

这让我想到了我的问题。

如果我创建一个新的迁移并从中更新数据库,它会擦除​​迁移中未记录的所有更改并仍然保留所做的更改吗?

相信以下两篇文章会对您有所帮助。

EF 4.3 迁移演练:http://blogs.msdn.com/b/adonet/archive/2012/02/09/ef-4-3-code-based-migrations-walkthrough.aspx

更新:

使用现有数据库进行代码优先迁移 https://msdn.microsoft.com/en-us/data/dn579398.aspx

你的问题的细节有点粗略,但我会做一些假设来帮助你。不对的地方请指正

我假设您希望保留直接对数据库产生影响的更改所产生的数据,但您不想保留对数据库产生影响的更改 - 换句话说:保留数据但不是数据结构。

我的建议如下

  • 当您不确定要做什么时,请始终对数据库执行完整备份。
  • 如果您可以识别要更新的表,则始终可以使用 SELECT INTO 语句仅创建特定表的快速备份。执行 EF 数据库迁移时不会删除这些表,除非您明确编写删除脚本。
  • 您可以通过 Sql() 方法将 SELECT INTO 语句构建到您的 EF 迁移中,或者您可以手动 运行 命令数据库。

更多信息: