我已经实现了一个由两个实体Student和Department组成的核心网络api,并实现了一对多关系,即一个Department可以有多个学生。
我创建了一个名为 DepartmentStudentsresponse
的响应模型DepartmentStudentsresponse.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace Students.Models
{
public class DepartmentStudentsresponse
{
public Department department { get; set; }
public List<Student> students { get; set; }
}
}
我想实现 GetStudents(int id)方法,在该方法中将提供特定的部门ID,并且应该返回其中包含listOfstudents的部门。
在 GetStudents(int id)方法中,departmentStudents.department = department.Result;
,departmentStudents.students = listOfStudents.Result;
为什么需要.Result
?没有.Result
,我该如何实现呢?
DeparmentController.cs GetStudents(int id)
[HttpGet("{id}")]
//[Route("DepartmentWithStudent")]
public async Task<actionResult<Student>> GetStudents(int id)
{
DepartmentStudentsresponse departmentStudents = new DepartmentStudentsresponse();
var department = _context.Departments.FindAsync(id);
if (department != null)
{
departmentStudents.department = department.Result;
var listOfStudents = _context.Students.Where(x => x.DepartmentId == id).ToListAsync();
departmentStudents.students = listOfStudents.Result;
//return departmentStudents;
}
else
{
return NotFound();
}
}