如何返回学生名单

时间:2018-03-14 11:30:49

标签: c#

我的方法是用他的名字从数据库中返回一名学生, 如果我有很多同名的学生,我想修改我的方法以返回学生列表,我该怎么办,谢谢

    // GET: api/Students/name
    [ResponseType(typeof(Student))]
    public IHttpActionResult GetStudentByName(string Name)
    {

        Student student = db.Students.FirstOrDefault(t => t.Name == Name);

        if (student == null)
        {
            return NotFound();
        }

        return Ok(student);
    }

3 个答案:

答案 0 :(得分:3)

供参考

Enumerable.Where Method (IEnumerable, Func)

  

根据谓词过滤一系列值。

Enumerable.FirstOrDefault Method

  

返回序列的第一个元素,如果不是,则返回默认值   找到了元素。

另请注意,您需要将ResponseType更改为List<Student>

示例

[ResponseType(typeof(List<Student>))]
public IHttpActionResult GetStudentByName(string Name)
{
    var students = db.Students.Where(t => t.Name == Name).ToList();

    if (!students.any())
    {
        return NotFound();
    }

    return Ok(students);
}

答案 1 :(得分:2)

List<Student> student = db.Students.Where(t => t.Name == Name).ToList()

答案 2 :(得分:-1)

[ResponseType(typeof(IEnumerable<Student>))]
public IHttpActionResult GetStudentsByName(string Name)
{    
    var students = db.Students.Where(t => t.Name == Name).ToList();

    return students.Count == 0 ? NotFound() : Ok(students);
}