C# 实现Nhibernate一对多映射

C# 实现Nhibernate一对多映射,c#,nhibernate,fluent-nhibernate,nhibernate-mapping,C#,Nhibernate,Fluent Nhibernate,Nhibernate Mapping,我有一个班级学校和另一个班级的老师。现在每所学校可以有m名教师,一名教师可能是多所学校的一员。但是在教师课堂上,我不想要一个能告诉我老师是哪所学校的财产 因此, 定义了期望的简单映射 现在,我希望正确地连接这些表,这样当我创建一个学校对象,然后向其中添加教师并保存它时,我希望它存储在一个映射表中,该映射表的列应该是以下SchoolId,TeacherId 现在,我如何在映射中使用此表,以便在保存学校对象时,我的教师也存储在数据库中,在检索学校对象时,我也检索教师 任何答案都将不胜感激。请尝试:

我有一个班级学校和另一个班级的老师。现在每所学校可以有m名教师,一名教师可能是多所学校的一员。但是在教师课堂上,我不想要一个能告诉我老师是哪所学校的财产

因此,

定义了期望的简单映射

现在,我希望正确地连接这些表,这样当我创建一个学校对象,然后向其中添加教师并保存它时,我希望它存储在一个映射表中,该映射表的列应该是以下SchoolId,TeacherId

现在,我如何在映射中使用此表,以便在保存学校对象时,我的教师也存储在数据库中,在检索学校对象时,我也检索教师

任何答案都将不胜感激。

请尝试


HasMany(x=>x.Teachers).Inverse().Cascade.All();

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;}
}