实体框架数据注释等效于.WillCascadeOnDelete(false);

Jim*_*lff 16 data-annotations ef-migrations entity-framework-4.3

我目前正在使用EF Code First 4.3并启用了迁移,但禁用了自动迁移.

我的问题很简单,是否存在与模型配置等效的数据注释.WillCascadeOnDelete(false)

我想装饰我的类,以便外键关系不会触发级联删除.

代码示例:

public class Container
{
    public int ContainerID { get; set; }
    public string Name { get; set; }

    public virtual ICollection<Output> Outputs { get; set; }
}

public class Output
{
    public int ContainerID { get; set; }
    public virtual Container Container { get; set; }

    public int OutputTypeID { get; set; }
    public virtual OutputType OutputType { get; set; }

    public int Quantity { get; set; }
}  

public class OutputType 
{
    public int OutputTypeID { get; set; }
    public string Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我想做这样的事情:

public class Output
{
    [CascadeOnDelete(false)]   
    public int ContainerID { get; set; }
    public virtual Container Container { get; set; }

    [CascadeOnDelete(false)]    
    public int OutputTypeID { get; set; }
    public virtual OutputType OutputType { get; set; }

    public int Quantity { get; set; }
}  
Run Code Online (Sandbox Code Playgroud)

这样我就可以正确地构建迁移.目前支持级联删除的外键关系.

除了使用模型配置之外的任何想法?

Lad*_*nka 19

不,没有这样的等价物.您必须使用流畅的API有选择地删除级联删除,或者您必须删除OneToManyCascadeDelete约定以全局删除它.