У меня есть 3 сущности Учитель , Предмет , SchoolYear и SchoolYearSubject .SchoolYear, Teacher и Subject имеют много SchoolYearSubject.В SchoolYear должно быть много предметов, каждый из которых имеет одного учителя, поэтому я использую SchoolYearSubject для хранения этих отношений.
class Teacher { ICollection<SchoolYearSubject> }
class Subject { ICollection<SchoolYearSubject> }
class SchoolYear { ICollection<SchoolYearSubject> }
class SchoolYearSubject { Teacher, Subject, SchoolYear }
Например: у нас SchoolYear 2010, 3 предмета sA, sB и sC и 3 учителя tA, tB, tC.
SchoolYear 2010 имеет 2 предмета sA и sC с учителями tA и соответственно tC, поэтому у него есть 2 объекта SchoolYearSubject, один со ссылкой на предмет sA и tA учителя, а другой с предметом sC иtC Преподаватель.
Как я могу получить для каждого SchoolYear Предметы, которых еще нет в этом SchoolYear, без сохранения локальной информации о Предметах, уже присутствующих в SchoolYear?
Я пытался использовать
SchoolYear SchoolYear = (SchoolYear 2010);
Db.Subjects.Except(SchoolYear.SchoolYearSubjects.Select(schoolYearSubject => schoolYearSubject.Subject)).ToList()
, но это не работает, в результате чего NotSupportedException "Невозможно создать постоянное значение типа" SchoolYearSubject ". Только примитивные типы (" такие как Int32, String и Guid') поддерживаются в этом контексте. "как и ожидалось.