根据Microsoft网站上的Enabling Cascade Delete:
您可以使用以下方法删除这些级联删除约定:
modelBuilder.Conventions.Remove<OneToManyCascadeDeleteConvention>()
modelBuilder.Conventions.Remove<ManyToManyCascadeDeleteConvention>()
以下代码配置所需的关系,然后禁用级联删除。
C#
modelBuilder.Entity<Course>()
.HasRequired(t => t.Department)
.WithMany(t => t.Courses)
.HasForeignKey(d => d.DepartmentID)
.WillCascadeOnDelete(false);
据我所知,Remove<OneToManyCascadeDeleteConvention>()
删除级联删除f 或此上下文中的所有实体,而WillCascadeOnDelete(false)
仅删除仅相关实体< / strong>(上例中的课程实体)。真的吗?