C# 实体框架:一个<-&燃气轮机;许多<-&燃气轮机;一张地图?

C# 实体框架:一个<-&燃气轮机;许多<-&燃气轮机;一张地图?,c#,.net,asp.net,entity-framework,C#,.net,Asp.net,Entity Framework,我正试图用EF映射出一对多的关系,但由于某些原因,这比平常要困难得多。这是我的EDMX和DB模式。我在中间表上使用自动递增键的原因是,我被告知很难将复合键与EF一起使用 我需要的是能够(用一个课程实体)做一些课程。学生或者(用一个学生实体)做一些学生。课程。有谁能给我一些建议,告诉我映射这个的最佳方法吗 如果删除AssociationID列并使StudentID和CourseID都成为StudentCourses表的主键,它将获得多对多关系,并生成更直观的实体类(即Student.Course

我正试图用EF映射出一对多的关系,但由于某些原因,这比平常要困难得多。这是我的EDMX和DB模式。我在中间表上使用自动递增键的原因是,我被告知很难将复合键与EF一起使用

我需要的是能够(用一个课程实体)做一些课程。学生或者(用一个学生实体)做一些学生。课程。有谁能给我一些建议,告诉我映射这个的最佳方法吗


如果删除AssociationID列并使StudentID和CourseID都成为StudentCourses表的主键,它将获得多对多关系,并生成更直观的实体类(即Student.Courses,Course.Students)

谢谢,效果很好。但有一个问题是,我很难从课程中删除一个学生,反之亦然。我可以毫无问题地从实体中获取数据,但是当我保存更改时,没有任何内容被持久化。例如:var requestedCourse=context.Courses.Where(c=>c.CourseID==CourseID.FirstOrDefault();System.Diagnostics.Debug.WriteLine(student.Courses.Count);//0学生。课程。删除(requestedCourse);System.Diagnostics.Debug.WriteLine(student.Courses.Count);//仍然0显示需要包含(“课程”)才能删除该课程。