微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 EF6 Code-First 中管理 3 层表之间的级联删除

如何解决在 EF6 Code-First 中管理 3 层表之间的级联删除

我正在使用 EF6,我有下表。

  1. 产品
  2. 产品变体
  3. 产品库

现在每个产品将有多个 productvariants,而每个 productvariants 又将有多个 productgallery(images)。

以下是我设计模型的方式。

  1. 产品表
public class ProductsDo
{
    [Key]
    public int Id { get; set; }
    ... With all other fields pertaining to product.

    public virtual List<ProductvariantsDo> Productvariants { get; set; }
}
  1. Productvariants 表
public class ProductvariantsDo
{
    [Key]
    public int Id { get; set; }
    [ForeignKey("Product")]
    public int ProductId { get; set; }
    ... with all other fields pertaining to productvariants.

    public virtual ProductsDo Product { get; set; }
    public virtual List<ProductgalleryDo> Productgalleries { get; set; }
}
  1. Productgallery 表。
public class ProductgalleryDo
{
        [Key]
        public int Id { get; set; }
        [ForeignKey("Productvariant")]
        public int ProductvariantId { get; set; }
        ... with all other fields pertaining to productgallery
        
        public virtual ProductvariantsDo Productvariant { get; set; }

}

当我运行 update-database 命令时,它使用 Productvariant 外键在 Productgallery 上引发错误,它要求删除级联删除。但在这里,我担心如果我删除级联删除,它不会删除删除相应产品变体时的所有产品库。

谁能告诉我如何管理上述情况。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。