1 回答
TA贡献1852条经验 获得超7个赞
解决方案 1:
首先使用现有配置,您必须先删除 的ProductDetails,Product然后再删除Product,如下所示:
List<ProductDetails> productDetailsList = _dbContext.ProductDetails.Where(pd => pd.ProductId == Id).ToList();
_dbContext.ProductDetails.RemoveRange(productDetailsList);
var product = getProductById(Id);
_dbContext.Product.Remove(product);
_dbContext.SaveChanges();
解决方案 2:
在您的DbContext班级中,按如下方式重写实体配置:
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<ProductDetails>().HasRequired(pd => pd.Product).WithMany(p => p.ProductDetails).HasForeignKey(pd => pd.ProductId).WillCascadeOnDelete(true);
}
现在运行一个新的迁移并相应地更新数据库。
希望你的问题能得到解决!
- 1 回答
- 0 关注
- 205 浏览
添加回答
举报