使用对象上下文。我想通过 ExecuteStoreCommand 传递一个 SQL 查询来做到这一点,因为我不想仅仅为了在之后删除它们而检索所有相关实体。
类别表如下:
CatID | CatName | ParentID
其中 CatID 是 ParentID FK 的主键
我希望删除一个类别以及该类别下的所有类别。可以是 2+ 级别的子猫,所以不同的 ParentID
以为我可以按如下方式进行操作,只需在数据库中的外键的删除选项上设置“级联”,但它不会让我,而且它似乎不想通过使用 CatID - ParentID 关系来级联删除和查询被这个非常 FK 约束停止。
public RedirectToRouteResult DelCat(int CatID)
{
if (CatID != 0)
{
_db.ExecuteStoreCommand("DELETE FROM Categories WHERE CatID={0}", CatID);
_db.SaveChanges();
}
return RedirectToAction("CatManage");
}