6

我通过将一列从表中删除到另一个来更新我的数据模型,但我在此列中有数据

为此,我首先在新表中添加新列并完成。

现在我想列数据从旧表迁移到新表,我想在Up(MigrationBuilder migrationBuilder)方法中这样做,但我不知道正确的方法。

所以,我问是否有人知道我可以从哪里开始。

谢谢你们!

4

2 回答 2

9

Up()迁移方法中,您可以使用该函数编写自定义 SQL migrationBuilder.Sql()- 这通常是我处理从一列迁移到另一列或在这种情况下跨表迁移的数据的方式。

当然请记住,事情是按顺序执行的,因此您需要在添加的列和删除的列之间运行 sql。

同样,为了安全起见并保持事物的向后兼容,Down()您还应该包括执行反向操作的 sql,以便您以后可以随时回滚

于 2019-10-24T08:47:57.160 回答
5

例如,我们有表 A 和表 B。

在我的项目中,我遵循三个步骤:

  1. 创建迁移以将新列添加到表 B(Up()部分)。在Down()部分中,我添加代码以删除表 B 中的此列。
  2. 创建迁移以将数据从表 A 传输到表 B(Up()部分)。在Down()部分中,我添加了将数据从表 B 传输到表 A 的代码。
  3. 创建迁移以删除表 A 中的列(Up()部分)。在Down()一部分中,我添加了代码以在表 A 中创建列。
于 2019-10-24T11:50:09.310 回答