Fluent:将连接表值映射到多对多关系中的子项

时间:2011-03-24 09:51:23

标签: nhibernate fluent-nhibernate nhibernate-mapping

我正在尝试通过N:N关系将两个类映射到一起,并且这样可以正常工作。但是,在我的连接表中有一个字段,我还想映射到子对象上的属性,而且我没有想到如何做到这一点。

基本上,我的地图完成了以下内容:

CompanyMap : ClassMap<Company> {
    public CompanyMap() {
        HasManyToMany<Employee>(x => x.Employees)
            .Table("COMPANY_EMPLOYEE")
            .ParentKeyColumn("COMPANY_ID")
            .ChildKeyColumn("EMPLOYEE_ID")
            ;
    }
}

我的Employee类具有.Tenure属性。

该任期的价值在我的COMPANY_EMPLOYEE联接表中指定,具有以下架构:

COMPANY_ID  |  EMPLOYEE_ID  |  TENURE

我不知道这是不是很简单,或者说完全不可能做到的事情,但如果有人能指出我正确的方向,我真的很感激。

谢谢!

1 个答案:

答案 0 :(得分:2)

您需要在域模型中创建一个CompanyEmployee对象,并将这两个关系映射为一对多。也就是说,公司有一个CompanyEmployee的集合,而Employee有一个CompanyEmployee的集合。