From 135cc708f8dfc408b0932c8da489f863fecf0b1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8B=B8=E7=99=BC=E7=99=BC?= <2977047384@qq.com> Date: Sun, 29 Dec 2024 20:40:30 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E7=9F=A5=E8=AF=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...3-\344\274\252\345\210\240\351\231\244.md" | 34 ++++++++++ ...5-\346\226\260\346\226\271\346\263\225.md" | 65 +++++++++++++++++++ 2 files changed, 99 insertions(+) create mode 100644 "\346\235\216\345\250\234/20241223-\344\274\252\345\210\240\351\231\244.md" create mode 100644 "\346\235\216\345\250\234/20241225-\346\226\260\346\226\271\346\263\225.md" diff --git "a/\346\235\216\345\250\234/20241223-\344\274\252\345\210\240\351\231\244.md" "b/\346\235\216\345\250\234/20241223-\344\274\252\345\210\240\351\231\244.md" new file mode 100644 index 0000000..c1e6841 --- /dev/null +++ "b/\346\235\216\345\250\234/20241223-\344\274\252\345\210\240\351\231\244.md" @@ -0,0 +1,34 @@ +# 伪删除 +### 1. 伪删除的概念 +- 伪删除是一种数据管理技术,它将数据标记为"已删除"状态,而不是从数据库中物理删除。 +- 这种方法保留了数据的完整性,便于未来恢复或审计。 + +### 步骤 +1. 先在表中添加一条字段,并赋值 + + //表示是否被删除,默认值为false + public bool IsDeleted{get;set;}=false; + +2. 在控制器删除操作中,添加以下代码 + + //删除(伪删除) + public IActionResult Delete2(int id){ + var s=_db.Course.FirstOrDefault(x=>x.Id==id); + if(s==null){ + return NotFound(); + } + //需将remove改为update,如果删除了则修改IsDeleted的值 + s.IsDeleted=true; + _db.Course.Update(s); + _db.SaveChanges(); + return RedirectToAction("Index"); + } +3. 在控制器页面的action方法中,进行一下操作 + + //表示筛选没有被删除新的信息 + return View(_db.Course) ----> return View(_db.Course.Where(x=>x.IsDeleted!=true)); + +### 5. 数据库交互 +- 数据库查询时,使用 `isDeleted = false` 或 `isActive = true` 条件来排除已伪删除的数据。 +- 更新操作时,设置 `isDeleted = true` 而不是执行 `DELETE` 语句。 + diff --git "a/\346\235\216\345\250\234/20241225-\346\226\260\346\226\271\346\263\225.md" "b/\346\235\216\345\250\234/20241225-\346\226\260\346\226\271\346\263\225.md" new file mode 100644 index 0000000..ed32e40 --- /dev/null +++ "b/\346\235\216\345\250\234/20241225-\346\226\260\346\226\271\346\263\225.md" @@ -0,0 +1,65 @@ +# 增删改查 +```cs +//查找 +public IActionResult Index(String keyword){ + if(string.IsNullOrEmpty(keyword)){ + return View(_db.Book.ToList()); + } + var list=_db.Book.Where(x=>x.BookId.ToString().Contains(keyword)||x.BookName.Contains(keyword)).ToList(); + return View(list); +} + public IActionResult Create(){ + return View(); + } + +//添加 + //Booke新定义的一个类 +[HttpPost] +public IActionResult Create(Booke input){ + // var s=_db.Book.Select(x=>x.Id).Max(); + // input.Id=s+1; + var s=new Book{ + BookId=input.BookId, + BookName=input.BookName, + Price=input.Price, + }; + _db.Book.Add(s); + _db.SaveChanges(); + return RedirectToAction("Index"); +} +//修改 +public IActionResult Edit(int Id){ + var s=_db.Book.FirstOrDefault(x=>x.Id==Id); + return View(s); +} +[HttpPost] +public IActionResult Edit(Booke input){ + var s=_db.Book.FirstOrDefault(x=>x.Id==input.Id); + if(s!=null){ + s.BookId=input.BookId; + s.BookName=input.BookName; + s.Price=input.Price; + //将修改的内容添加到数据库中 + _db.Book.Update(s); + //将修改的内容保存 + _db.SaveChanges(); + } + return RedirectToAction("Index"); +} +//删除 +public IActionResult Delete(int id){ + var s=_db.Book.FirstOrDefault(x=>x.Id==id); + if(s!=null){ + return View(s); + } + return RedirectToAction("Index"); +} +public IActionResult Delete2(int id){ + var s=_db.Book.FirstOrDefault(x=>x.Id==id); + if(s!=null){ + _db.Book.Remove(s); + _db.SaveChanges(); + } + return RedirectToAction("Index"); +} +``` \ No newline at end of file -- Gitee