我有3个实体教师,主题,学年和SchoolYearSubject。 SchoolYear,Teacher and Subject have many SchoolYearSubject。 SchoolYear应该有许多主题,每个主题都有一位教师,所以我使用SchoolYearSubject来存储这种关系。C#实体框架:减去实体
class Teacher { ICollection<SchoolYearSubject> }
class Subject { ICollection<SchoolYearSubject> }
class SchoolYear { ICollection<SchoolYearSubject> }
class SchoolYearSubject { Teacher, Subject, SchoolYear }
例如: 我们有学年2010年,三个科SA,SB和SC和3位老师TA,TB,TC。
2010年的学年有两门学科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')在这方面得到了支持。“如预期。