我错误地将级联删除变为false。现在我想再次将它设置为true。我该怎么做?

时间:2017-06-22 01:20:40

标签: asp.net-mvc entity-framework ef-code-first ef-migrations ef-fluent-api

我错误地将级联删除变为false并创建了表。现在,如果我删除表,那么我将很难控制该表上的相关代码。我怎样才能再打开它? Fluent API的代码是什么?如果还有其他方法,请告诉我。

请参阅此处我的迁移 Screenshot

1 个答案:

答案 0 :(得分:0)

您可以在上下文类的OnModelCreating方法中设置级联,如下所示:

protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        modelBuilder.Entity<AnyEntityName>()
                .HasRequired(c => c.Customer)
                .WithMany(o => o.Orders)
                .HasForeignKey(o => o.CustomerId)
                .WillCascadeOnDelete(true);
    }

添加信息:

当删除主记录时,级联删除会自动删除相关记录或将null设置为foreignkey属性。

默认情况下,实体框架中为所有类型的关系启用级联删除,例如一对一,一对多和多对多。

<强>来源: http://www.entityframeworktutorial.net/code-first/cascade-delete-in-code-first.aspx

有用的链接: http://www.dotnetcurry.com/aspnet-mvc/899/entity-framework-code-first-fluent-aspnet-mvc

希望以上信息有用