EF

时间:2019-09-03 11:19:05

标签: c# sql-server entity-framework sql-server-2008 entity-framework-6

根据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>(上例中的课程实体)。真的吗?

0 个答案:

没有答案