在没有迁移文件的情况下迁移 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 迁移中,或者您可以手动 运行 命令数据库。
更多信息:
- Click here 了解一般的 EF 代码首次迁移
- Click here 全面的代码优先迁移参考
我正在开发一个项目,该项目首先使用 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 迁移中,或者您可以手动 运行 命令数据库。
更多信息:
- Click here 了解一般的 EF 代码首次迁移
- Click here 全面的代码优先迁移参考