我目前正在使用启用了迁移但禁用了自动迁移的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; }
}
我想要做这样的事情:
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; }
}
这样我就能正确地搭建迁移。目前,外键关系是级联删除的脚手架。除了使用模型配置,还有其他想法吗?