删除具有外键的记录

时间:2018-08-27 07:41:17

标签: c# asp.net asp.net-web-api

我的DELETE出现问题,如果一条记录具有FK,则该记录不会被删除,我试图通过添加一点IsDeleted列并设置规则来实现软删除方法。但这也是徒然..这是我的代码

// DELETE: api/ProductCategory/5
[Authorize]
[ResponseType(typeof(Product_Category))]
public async Task<IHttpActionResult> Delete_Product_Category(int id)
{
    Product_Category Product_Category = await db.Product_Category.FindAsync(id);

    if (CRM_Product_Category == null)
    {
        return NotFound();
    }

    db.Product_Category.Remove(Product_Category);
    await db.SaveChangesAsync();

    return Ok(Product_Category);
}

protected override void Dispose(bool disposing)
{
    if (disposing)
    {
        db.Dispose();
    }
    base.Dispose(disposing);
}

private bool Product_CategoryExists(int id)
{
    return db.Product_Category.Count(e => e.ProductCategoryID == id) > 0;
}

1 个答案:

答案 0 :(得分:0)

这很正常,您正在尝试删除一个类别,但是数据库应该如何处理链接到该特定类别的产品

您在这里有2个选择:

  

1-检查产品是否链接到该类别并删除   它们或更改类别。

     

2-级联删除。 (它将删除您在上的链接记录   级联请谨慎操作)