У меня есть Person
и Course
Сущности с несколькими связями:
public class Course
{
public int CourseID { get; set; }
public virtual Person Leader { get; set; }
public virtual ICollection<Person> Teachers { get; set; }
public virtual Person CreatedBy { get; set; }
public virtual Person UpdatedBy { get; set; }
...
}
public class Person
{
public int PersonID { get; set; }
public virtual ICollection<Course> CoursesCreated { get; set; }
public virtual ICollection<Course> CoursesUpdated { get; set; }
public virtual ICollection<Course> CoursesLead { get; set; }
public virtual ICollection<Course> CoursesTutored { get; set; }
...
}
У меня есть следующее отображение:
modelBuilder.Entity<Course>().HasMany(x => x.Tutors)
.WithMany(p => p.CoursesTutored)
.Map(x =>
{
x.MapLeftKey("PersonID");
x.MapRightKey("CourseID");
x.ToTable("Course_Tutors");
});
Это работает в том смысле, что устанавливает таблицу Course_Tutors
, а также обеспечивает таблицу курсов с Leader_PersonID
, CreatedBy_PersonID
и UpdatedBy_PersonID
Однако он также создает три дополнительных столбца Person
в таблице курса: Person_PersonID1
, Person_PersonID2
, Person_PersonID3
.
Может кто-нибудь сказать мне, как избавиться от них? Я предполагаю, что моему картографированию нужна дополнительная работа.