戳戳猫的小窝
更新日志
关于
同样,删除年级时需要考虑年级中是否存在班级。 # 添加GetWithClasses方法 在GradeRepo中添加GetWithClasses方法,代码如下: ``` public Grade? GetWithClasses(Guid id) { return DbSet.Include(g => g.Classes).SingleOrDefault(g => g.Id == id); } ``` # 添加Delete方法 在GradeService中添加Delete方法,代码如下: ``` public void Delete(Guid id) { Grade? grade = gradeRepo.GetWithClasses(id); if (grade == null) { throw new NullReferenceException("未找到该年级,无法删除"); } if (grade.Classes.Any()) { throw new InvalidOperationException("年级中存在班级,无法删除"); } gradeRepo.Delete(grade); } ``` # 添加Delete动作 在GradeController中添加Delete动作,代码如下: ``` public IActionResult Delete(Guid id) { try { gradeService.Delete(id); return Ok("删除成功"); } catch (Exception ex) { return BadRequest(ex.Message); } } ``` # 完善视图 添加删除按钮和Delete函数,代码如下: ``` <button class="button is-danger" onclick="Delete('@grade.Id')">删除</button> ``` ``` @section Scripts { <script> function Delete(id) { DeleteWithController(id, 'Grade'); } </script> } ```
删除年级