HasOne vs Referências Mapeando o NHibernate Fluente
Esta é a primeira vez que trabalho com o Mapeamento FluentNhibernate e enfrento uma questão de como fazer referência a outra tabela. Qualquer ajuda é apreciada:
Eu tenho várias tabelas nomeadas CD_varname e todos esses contêm duas colunas - CODE e DESCR.
eu tenho ummesa principal chamadoDestinatário e, digamos, duas colunas, chamadas ALIVE e SEX, ambas são do tipo número e se referem às tabelas CD_ALIVE e CD_SEX. Se Alive = 1 no Destinatário, precisamos obter o código e descr da tabela CD_ALIVE em que Code = 1.
Eu descrevi uma classe Codef:
public Class Codef
{
int Code { get; set; }
string Descr { get; set; }
}
Minha classe de destinatário os atribui a um componente. A classe Destinatário fica assim:
public Class IRecepient
{
int ID { get; set; }
Birth Birth {get; set;}
Death Death { get; set; }
}
Onde estão minhas aulas de Nascimento e Morte:
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
}
e minha classe da morte:
public Class Death
{
DateTime DeathDate { get; set; }
Codef Alive { get; set; }
}
portanto, a coluna principal "Alive" no Destinatário está realmente fazendo referência ao meu Recipient.Death.Alive.Code
Eu tenho uma classe de mapeamento de codef:
public CodefMapping()
{
Map(x => x.Code, "CODE");
Map(x => x.Descr, "DESCR");
}
Estou tentando fazer o mapeamento de destinatários e é aqui que estou preso. Posso fazer algo assim:
HasOne<CodefMapping>(c => c.Death.Alive)
.PropertyRef(c => c.Code)
.PropertyRef(c => c.Descr)
.WithForeignKey("ALIVE");
Não está funcionando :( Qualquer ajuda é muito apreciada.
Obrigado.