Как можно обновить только несколько полей вложенной сущности?
Есть сущности «школьный класс» → «ученики» ↔️ «предметы». (связь один ко многим→, связь многие к многим ↔️).
Подскажите, можно ли как-то обновить часть полей для определенной сущность «предмет» более быстро и просто без перебора всех сущностей. Вот как сейчас:
string studySubject_ = "Chemistry";
string newDescription = "learn about chemical";
AcademicSubject academicSubject = schoolClasses
.Select(i => i.Pupils
.Select(j => j.PupilAcademicSubjects
.Where(i => i.AcademicSubject.Title.ToLower() == studySubject_.ToLower())
.Select(k => k.AcademicSubject).FirstOrDefault()
)
.FirstOrDefault()
)
.FirstOrDefault();
if (academicSubject is not null)
{
academicSubject.Description = newDescription;
_appDBContext.AcademicSubjects.Update(academicSubject);
_appDBContext.SaveChanges();
}
В LINQ происходит выборка предмет с названием "Химия" из коллекции "Школьный класс" с вложенностью описанной сверху.