You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何创建仅返回Electives类型课程的GetElectives接口?

实现GetElectives接口的两种方案

方案一:在CourseService中新增专用方法(推荐)

这种方式符合分层架构的职责划分,把业务逻辑放在Service层,同时利用EF的Linq查询直接在数据库层面过滤数据,性能更优。

  1. 在CourseService类中新增获取选修课的方法:
public List<Course> GetElectiveCourses()
{
    // 直接在数据库层面过滤CourseType为"Electives"的课程
    return _context.Courses.Where(course => course.CourseType == "Electives").ToList();
}
  1. 在控制器中添加对应的接口:
// 获取所有选修课
[HttpGet("GetElectives")]
public IActionResult GetElectives()
{
    var electiveCourses = _courseservice.GetElectiveCourses();
    return Ok(electiveCourses);
}

方案二:直接在控制器中复用现有方法过滤(不推荐)

如果暂时不想修改Service层,可以直接在控制器里对GetAllCourses返回的结果做内存过滤,但这种方式会先把所有课程加载到内存再筛选,数据量大时性能较差。

控制器中新增接口代码:

// 获取所有选修课
[HttpGet("GetElectives")]
public IActionResult GetElectives()
{
    var allCourses = _courseservice.GetAllCourses();
    var electiveCourses = allCourses.Where(course => course.CourseType == "Electives").ToList();
    return Ok(electiveCourses);
}

内容的提问来源于stack exchange,提问作者user2835586

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 08:13:11