忽略级联删除时删除特定实体

时间:2019-12-19 11:27:41

标签: c# entity-framework-core

我有以下实体:

public class ShoppingCartItem
{
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int ShoppingCartItemId { get; set; }
    public virtual Product Product { get; set; }    
    public int Quantity { get; set; }
    public string ShoppingCartId { get; set; }
    public DateTime ItemAddedToCart { get; set; } 
}

ProductShoppingCartItem之间存在一对一的外键关系。 我的问题是,如何使实体框架核心跳过ShoppingCartItem级联删除中的Product实体的删除?

1 个答案:

答案 0 :(得分:0)

您可以在构建器对象中使用类似以下的内容

builder.Entity<ShoppingCartItem>()
    .HasOne(s => s.Product)
    .WithOne(p => p.ShoppingCartItem)
    .Metadata.DeleteBehavior = DeleteBehavior.Restrict;