LINQ Expression C# динамическое построение запроса

Есть такой запрос. Подскажите как сделать его динамическим с заполнением в foreach?

var query = dbContex.Directions
                .Include(d=>d.EducationalDivision.University)
                .Include(d=>d.SubjectScores)
                .ThenInclude(ss=>ss.Subject)
                .Where(d=> d.SubjectScores.All(ss=> subjectIds.Contains(ss.SubjectId)))
                .Where(d => d.SubjectScores.All(ss =>
                         ss.SubjectId == Subjects[0].Id && Subjects[0].Score >= ss.MinimumScore ||
                         ss.SubjectId == Subjects[1].Id && Subjects[1].Score >= ss.MinimumScore ||
                         ss.SubjectId == Subjects[2].Id && Subjects[2].Score >= ss.MinimumScore ||
                         ss.SubjectId == Subjects[3].Id && Subjects[3].Score >= ss.MinimumScore ||
                         ss.SubjectId == Subjects[4].Id && Subjects[4].Score >= ss.MinimumScore ||
                         ss.SubjectId == Subjects[5].Id && Subjects[5].Score >= ss.MinimumScore ||
                         ss.SubjectId == Subjects[6].Id && Subjects[6].Score >= ss.MinimumScore ||
                         ss.SubjectId == Subjects[7].Id && Subjects[7].Score >= ss.MinimumScore ||
                         ss.SubjectId == Subjects[8].Id && Subjects[8].Score >= ss.MinimumScore ||
                         ss.SubjectId == Subjects[9].Id && Subjects[9].Score >= ss.MinimumScore ||
                         ss.SubjectId == Subjects[10].Id && Subjects[10].Score >= ss.MinimumScore ||
                         ss.SubjectId == Subjects[11].Id && Subjects[11].Score >= ss.MinimumScore ||
                         ss.SubjectId == Subjects[12].Id && Subjects[12].Score >= ss.MinimumScore
                       ));

Ответы (0 шт):