FluentNHibernate一对一映射

时间:2011-12-15 10:13:23

标签: nhibernate fluent-nhibernate mapping one-to-one

我有3张桌子:

表:公司,列:ID,名称


表:用户,列:Id,Name,CompanyId


表: CompanyOwnerInfo ,列:Id,CompanyId,OwnerName .....


用户 CompanyOwnerInfo 表中的CompanyId列已映射到 Company.Id

我的问题是如何为不包含公司表的用户 CompanyOwnerInfo 表创建一对一映射?因为当我使用用户对象获取 CompanyOwnerInfo 时,没有必要加入公司表?

1 个答案:

答案 0 :(得分:1)

public UserMap()
{

    References(x => x.Company, "CompanyId");

    References(x => x.CompanyOwnerInfo, "CompanyId")
        .PropertyRef(compOwner => compOwner.Company)
        .Fetch.Join()
        .Not.LazyLoad()   // if needed
        .ReadOnly();      // important otherwise you have Exception on save because both References want to write to the same column
}