EF6-对复杂的继承类进行级联删除

时间:2019-07-25 09:54:47

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

我无法在模型上使用EF6在删除时添加级联。

模型表示数据库元模型:

第一堂课是:

public abstract class ObjectMetamodel
{
[...]
}

和2个继承的类:

public class ObjectMM : ObjectMetamodel
{
[...]
}

public class RelationshipMM : ObjectMetamodel
{
    [Required]
    public virtual ObjectMM FromObject { get; set; }

    [Required]
    public virtual ObjectMM ToObject { get; set; }
}

在SQL Server中,前键已正确创建,但我找不到正确的语法来激活删除时fromObject和To对象外键的级联。

我想在删除ObjectMM时自动删除所有RelationshipMM。

我尝试了这个,创建数据库时没有错误,但是没有用:

modelBuilder.Entity<RelationshipMM>().HasRequired(r => r.FromObject).WithRequiredDependent().WillCascadeOnDelete();
modelBuilder.Entity<RelationshipMM>().HasRequired(r => r.ToObject).WithRequiredDependent().WillCascadeOnDelete();

enter image description here

是否可以使用EF进行创建,还是必须在更新触发器之前添加2才能删除关系,然后再删除对象?

谢谢您的帮助

0 个答案:

没有答案