ON DELETE级联支持

本文关键字:支持 级联 DELETE ON | 更新日期: 2023-09-27 18:20:15

正如标题所说,我正试图使用实体框架、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连接器中是否不支持删除级联,或者有什么问题?

ON DELETE级联支持

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

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

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

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

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

编辑:Mysql Bug跟踪器上的Bug文件。