【问题标题】:Removing a row form the database when working with the fluent migration使用 fluentmigrator 时从数据库中删除一行
【发布时间】:2019-01-26 12:13:12
【问题描述】:

我是 fluent 迁移的新手。我想简单地从数据库中删除一行,请您指导我如何做到这一点。 如果这个问题已经在stackoverflow的其他地方得到回答,或者指出我正确的方向。 我不想在迁移脚本中使用动态 sql。

谢谢。

【问题讨论】:

  • 当然,但是我们也希望管理数据更新,因为这会更新配置,并且对于项目以这种方式进行所有数据迁移至关重要。
  • 如果您不想对架构进行任何更改,为什么不在插入数据时将其删除?
  • 我知道这有点微不足道。但是,正如我提到的,我对使用 fluent 不熟悉,我不确定语法。不过想通了..
  • 如果需要删除另一行怎么办?您要一次又一次地删除并记录所有迁移吗?在我看来,你的方向是错误的。
  • 是的,我现在和你在一起。我认为迁移仅适用于架构更改。所有数据更改都需要手动或通过脚本完成。

标签: c# database-migration fluent-migrator


【解决方案1】:

要删除迁移中的一行,只需执行以下操作:

//Delete all rows where MyColumn = 123
Delete.FromTable("MyTable").Row(new { MyColumn = "123" }); 

FluentMigrator 的文档是解决此类问题的好地方。您正在寻找的文章可以在here 找到。

【讨论】:

    【解决方案2】:

    我从 wiki 找到了答案。 以下是可用于从数据库中删除行的迁移格式

    Delete.FromTable("Users").Row(new { FirstName = "John" }); // 删除 FirstName==John 的所有行

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-08-07
      • 2018-12-19
      • 1970-01-01
      • 2014-12-29
      • 1970-01-01
      • 2016-11-09
      • 1970-01-01
      相关资源
      最近更新 更多