This commit is contained in:
2026-08-10 09:35:57 +08:00 Unverified
parent c25f16ec20
commit 4be61ab921
4 changed files with 72 additions and 30 deletions
@@ -109,6 +109,34 @@ public sealed class MySqlMigrationTests
Assert.Contains(ids[1].ToString(), sql, StringComparison.OrdinalIgnoreCase);
}
[Fact]
public void MySql_experiment_course_grade_lookup_uses_provider_safe_predicates()
{
using var db = new AppDbContext(CreateMySqlOptions());
var teachingTaskId = Guid.Parse(
"33333333-3333-3333-3333-333333333333");
var studentIds = new[]
{
Guid.Parse("11111111-1111-1111-1111-111111111111"),
Guid.Parse("22222222-2222-2222-2222-222222222222")
};
var sql = db.ExperimentCourseGrades
.Where(x => x.TeachingTaskId == teachingTaskId)
.WhereIn(studentIds, x => x.StudentId)
.ToQueryString();
Assert.Contains(" IN (", sql, StringComparison.OrdinalIgnoreCase);
Assert.Contains(
teachingTaskId.ToString(),
sql,
StringComparison.OrdinalIgnoreCase);
Assert.All(studentIds, studentId => Assert.Contains(
studentId.ToString(),
sql,
StringComparison.OrdinalIgnoreCase));
}
[Fact]
public void MySql_attendance_device_hash_query_uses_provider_safe_predicates()
{