【问题标题】:ON DELETE CASCADE support?是否支持 DELETE CASCADE?
【发布时间】:2012-02-09 12:51:56
【问题描述】:

正如标题所说,我正在尝试使用 Entity Framework、MySQL 和 CodeFirst 删除一个对象。

我的对象中有一个多对多关系,我只删除了一个约定:

modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();

在我的上下文中。但是我在尝试删除时仍然得到这个:

Cannot delete or update a parent row: a foreign key constraint fails (`db`.`jagtartjagtrejse`, CONSTRAINT `JagtArt_JagtRejser_Target` FOREIGN KEY (`JagtRejse_JagtRejseID`) REFERENCES `jagtrejse` (`JagtRejseID`))

mysql 连接器不支持删除级联,还是有什么问题?

【问题讨论】:

标签: c# mysql entity-framework ef-code-first


【解决方案1】:

通过在 EF 迁移文件中强制 cascadeDelete: true,我得到了相同的结果。

ON DELETE 设置为 RESTRICT,而它应该是 CASCADE
我必须手动更改 FK 才能让它工作。

编辑:在 Mysql 错误跟踪器上提交的错误。

【讨论】:

    【解决方案2】:

    https://stackoverflow.com/a/5532950/965013

    我相信这回答了您的问题。该链接显示了如何在删除时禁用级联,但正如您将看到的,打开它只是一个调用的问题

    modelBuilder.Entity<...>() 
            .HasRequired(...) 
            .WithMany(...) 
            .HasForeignKey(...) 
            .WillCascadeOnDelete(true); 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-19
      • 2014-09-02
      • 1970-01-01
      • 1970-01-01
      • 2012-11-10
      • 2016-12-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多