我有一个班级学校和另一个班级教师。现在每所学校都可以包含m名教师,而一名教师可能是不止一所学校的一部分。但是在教师课堂上,我不想要一个告诉我教师是哪个学校的财产。
因此,
public class School
{
public virtual int Id {get;set;}
public virtual string Name {get;set;}
public virtual IList<Teacher> Teachers {get;set;}
public School()
{
Teachers=new List();
}
}
相同的映射是
public class SchoolMap:ClassMap<School>
{
public SchoolMap()
{
Id(x=>x.Id);
Map(x=>x.Name);
HasMany(x=>x.Teachers);
}
}
和教师定义为
public class Teacher
{
public virtual int Id {get;set;}
public virtual int Name {get;set;}
}
并定义了预期的简单映射。
现在我想加入这些表格,以便在创建一个School对象然后将教师添加到它并保存它时,我希望它存储在一个映射表中,其列应该是以下SchoolId,TeacherId。
现在我如何在我的映射中使用这个表,这样当我保存School对象时,我的老师也存储在数据库中,在检索School对象时我也检索了教师。
任何答案都将不胜感激。