如何将删除函数设置为从数据库中激活值

本文关键字:数据库 激活 设置 删除 函数 | 更新日期: 2023-09-27 17:49:21

我在控制器上有删除功能。我的函数从数据库中删除,我工作得很好,但现在我不希望它从数据库中永久删除,但只是将其设置为活动而不显示它。但是在数据库中它是存在的。

我有一个名为Active的列,它是1。我怎样才能使它处于活动状态而不是永久删除它。

这是我的控制器代码;

    public ActionResult Deletefunction(Part model)
    {
        try
        {
            using (dbContext db = new dbContext())
            {
                Part del = db.Parts.Where(c => c.id == model.PartId).FirstOrDefault();
                db.Parts.Remove(del);
                db.SaveChanges();
            }
            return View();
        }
        catch (Exception ex)
        {
            throw ex;
        }
    }

感谢您的提前帮助

如何将删除函数设置为从数据库中激活值

假设您的Part对象上有一个名为Active的列。您只需将delete语句更改为更新语句,如下所示;

   public ActionResult Deletefunction(Part model)
    {
        try
        {
            using (dbContext db = new dbContext())
            {
                Part del = db.Parts.Where(c => c.id == model.PartId).FirstOrDefault();
                // Changed from Delete to update
                del.Active = 0;
                db.SaveChanges();
            }
            return View();
        }
        catch (Exception ex)
        {
            throw ex;
        }
    }

请注意,无论您在哪里显示这些,如果您不想显示非活动的,您将不得不添加where子句,如;

var onlyActiveParts = db.Parts.Where(p => p.Active == 1);