Во-первых, согласно FindAsyn c документации , он возвращает сущность, которая имеет указанный первичный ключ.
Находит сущность с заданными значениями первичного ключа.
Я предполагаю , что ваш звонок выше, вероятно, возвращает оценку с "Grade_ID = 5".
Ваша вторая проблема, вероятно, заключается в том, что может быть несколько строк с оценками для ученика, но похоже, что вы пытаетесь вернуть только 1 Grade
сущность.
Код, который вы, вероятно, захотите выполнить, будет выглядеть примерно так:
IEnumerable<Grade> grades = await db.Grades.Where((g) => g.Student_ID == id)
.ToListAsync();
if (!grades.Any())
{
return this.NotFound();
}
return this.Ok(grades);
.Where
- это Linq , то есть , преобразованный в SQL запрос для возврата данных.
В целом, стоит ознакомиться с Linq потому что это невероятно полезно для работы с данными.