如何在实体框架的多对多关系中添加新值辅助表?

时间:2014-05-13 08:49:02

标签: c# entity-framework linq-to-entities rdbms

我有3张桌子。其中2个有很多关系。最后一个是次要表:

学生:
id -------姓名------- SurName
1 -------- fsfsf ---------- fsfsfsdf
2 -------- dfdsf -------- sfsfsdfsdf


ID ----------名称-------
11 -------- course1 ----------
22 -------- course2 --------
23 -------- course3 --------


StudentCourse

Studentid --------- CourseId
1个------------------- 11
1个------------------- 12
2个------------------- 22
2个------------------- 23
2个------------------- 11

但是辅助表隐藏在Entity框架模型中。但我需要添加Studentid和Courseid而不更改Course和Student表。我怎么能做到这一点?

1 个答案:

答案 0 :(得分:1)

您可以使用Fluent-API映射关系表。要实现这一点,您必须编辑OnModelCreating方法,如下所示:

modelBuilder.Entity<Course>()
   .HasMany<Student>(c => c.Students)
   .WithMany(s => s.Courses)
   .Map(m => {
       m.ToTable("StudentCourses");
       m.MapLeftKey("CourseId");
       m.MapRightKey("StudentId");
    });

别忘了做一个&#34; update-database&#34;在程序包管理器上执行命令。