如何将删除功能设置为激活数据库中的值

How to set delete function to In active the values from the database

我的控制器有删除功能。我的功能从数据库中删除并且我工作正常,但现在我不希望它从数据库中永久删除,而是将其设置为活动状态而不显示它。但在数据库中它将存在。

我有一个名为 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 的列。您只需将删除语句更改为更新即可;

   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);