From ce8982dba9d2c77a80edc570e7bfc9733de98700 Mon Sep 17 00:00:00 2001 From: biss Date: Mon, 17 Aug 2026 20:30:03 +0800 Subject: [PATCH] Use WhereIn for experiment course grade aggregation --- src/Jiaowu.Api/Controllers/ExperimentGradesController.cs | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/Jiaowu.Api/Controllers/ExperimentGradesController.cs b/src/Jiaowu.Api/Controllers/ExperimentGradesController.cs index b9143f1..487c360 100644 --- a/src/Jiaowu.Api/Controllers/ExperimentGradesController.cs +++ b/src/Jiaowu.Api/Controllers/ExperimentGradesController.cs @@ -252,9 +252,8 @@ public sealed class ExperimentGradesController( .ToListAsync(cancellationToken); var taskIds = results.Select(x => x.TeachingTaskId).Distinct().ToArray(); var aggregates = await db.ExperimentCourseGrades.AsNoTracking() - .Where(x => - x.StudentId == student.Id && - taskIds.Contains(x.TeachingTaskId)) + .Where(x => x.StudentId == student.Id) + .WhereIn(taskIds, x => x.TeachingTaskId) .ToDictionaryAsync(x => x.TeachingTaskId, cancellationToken); var courses = results .GroupBy(x => x.TeachingTaskId)