2016-06-24 26 views
-2

我的控制器上有刪除功能。我的函數從數據庫中刪除,我工作正常,但現在我不希望它永久刪除,如果從數據庫中,但只是將其設置爲活動,而不是顯示它。但在數據庫上它將會存在。如何將刪除功能設置爲激活數據庫中的值

我有一個名爲活動的列,它是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; 
     } 

    } 

感謝您的高級幫助。

+1

假設Active是位字段,1 =真,0 =假。究竟是什麼阻止你這樣做? –

回答

0

假設您的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); 
相關問題