戳戳猫的小窝
更新日志
关于
删除专业和删除年级类似。 # 添加GetWithClasses方法 在MajorRepo中添加GetWithClasses方法,代码如下: ``` public Major? GetWithClasses(Guid id) { return DbSet.Include(m => m.Classes).SingleOrDefault(m => m.Id == id); } ``` # 添加Delete方法 在MajorService中添加Delete方法,代码如下: ``` public void Delete(Guid id) { Major? major = majorRepo.GetWithClasses(id); if (major == null) { throw new NullReferenceException("未找到该专业,无法删除"); } if (major.Classes.Any()) { throw new InvalidOperationException("年级中存在班级,无法删除"); } majorRepo.Delete(major); } ``` # 添加Delete动作 在MajorController中添加Delete动作,代码如下: ``` public IActionResult Delete(Guid id) { try { majorService.Delete(id); return Ok("删除成功"); } catch (Exception ex) { return BadRequest(ex.Message); } } ``` # 完善视图 添加删除按钮和Delete函数,代码如下: ``` <button class="button is-danger" onclick="Delete('@major.Id')">删除</button> ``` ``` @section Scripts { <script> function Delete(id) { DeleteWithController(id, 'Major'); } </script> } ```
删除专业