FluentNHibernate один-к-одному Сопоставление - PullRequest
0 голосов
/ 15 декабря 2011

У меня есть 3 таблицы:

Таблица: Компания , столбцы: Id, Имя


Таблица: Пользователь , столбцы: Id, Name, CompanyId


Таблица: CompanyOwnerInfo , столбец: Id, CompanyId, OwnerName .....


Столбец CompanyId в таблицах Пользователь и CompanyOwnerInfo сопоставляется с Company.Id

Мой вопрос заключается в том, как создать сопоставление «один к одному» для пользователя и CompanyOwnerInfo без использования таблицы Company ? потому что когда я использую User объект для получения CompanyOwnerInfo , нет необходимости присоединяться к таблице Company ?

1 Ответ

1 голос
/ 15 декабря 2011
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
}
...