HasOne vs References Отображение беглого NHibernate
Я впервые работаю с FluentNhibernate Mapping и сталкиваюсь с вопросом о том, как ссылаться на другую таблицу. Любая помощь приветствуется:
У меня есть несколько таблиц с именем CD_VarName и все они содержат две колонки - CODE и DESCR.
у меня есть такойглавный стол называетсяПолучатель и он имеет, скажем, два столбца, называемые ALIVE и SEX, оба имеют тип номера, и они ссылаются на таблицы CD_ALIVE и CD_SEX. Если Alive = 1 в Recipient, то нам нужно получить код и описание из таблицы CD_ALIVE, где Code = 1.
Я описал класс Codef:
public Class Codef
{
int Code { get; set; }
string Descr { get; set; }
}
Мой класс получателей назначает их компоненту. Класс получателя выглядит так:
public Class IRecepient
{
int ID { get; set; }
Birth Birth {get; set;}
Death Death { get; set; }
}
Где мои классы рождения и смерти:
public Class Birth
{
DateTime BDate { get; set; }
Codef Sex { get; set; }
Codef Ethnicity { get; set; } //CD_ETHNICITy Table
Codef Race { get; set; } //CD_RACE Table
}
и мой класс смерти:
public Class Death
{
DateTime DeathDate { get; set; }
Codef Alive { get; set; }
}
Итак, основной столбец «Alive» в Recipient на самом деле ссылается на мой Recipient.Death.Alive.Code
У меня есть класс отображения codef:
public CodefMapping()
{
Map(x => x.Code, "CODE");
Map(x => x.Descr, "DESCR");
}
Я пытаюсь сделать сопоставление получателя, и вот где я застрял. Могу ли я сделать что-то вроде этого:
HasOne<CodefMapping>(c => c.Death.Alive)
.PropertyRef(c => c.Code)
.PropertyRef(c => c.Descr)
.WithForeignKey("ALIVE");
Это не работает :( Любая помощь очень ценится.
Спасибо.