正如标题所说,我正在尝试使用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连接器中不支持删除级联,或者是否有问题?
答案 0 :(得分:0)
https://stackoverflow.com/a/5532950/965013
我相信这可以回答你的问题。该链接显示了如何在删除时禁用级联,但正如您将看到的,打开它只是一个调用的问题
modelBuilder.Entity<...>()
.HasRequired(...)
.WithMany(...)
.HasForeignKey(...)
.WillCascadeOnDelete(true);
答案 1 :(得分:0)
通过在 EF迁移文件中强制cascadeDelete: true
,我得到相同的结果。
ON DELETE
设置为RESTRICT
,时间应为CASCADE
我必须手动更改FK
以使其正常工作。
编辑:在Mysql错误跟踪器上提交错误。