Questa è la prima volta che lavoro con FluentNhibernate Mapping e affronta una questione su come fare riferimento a un'altra tabella. Qualsiasi aiuto è apprezzato:Mapping HasOne vs Referenze Fluente NHibernate
Ho diverse tabelle denominate CD_ varname e tutte queste contengono due colonne: CODICE e DESCR.
ho una tabella principale denominata destinatario ed ha, diciamo due colonne, dette VIVO e sesso, entrambi sono di tipo numerico, ed essi riferimento alle tabelle CD_ALIVE e CD_SEX. Se Alive = 1 nel Destinatario, allora dobbiamo ottenere il codice e descr dalla tabella CD_ALIVE dove Code = 1.
ho descritto una classe Codef:
public Class Codef
{
int Code { get; set; }
string Descr { get; set; }
}
Mia classe destinatario assegna questi per un componente. Classe destinatario appare così:
public Class IRecepient
{
int ID { get; set; }
Birth Birth {get; set;}
Death Death { get; set; }
}
Dove le mie classi nascita e morte sono:
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 la mia morte Classe:
public Class Death
{
DateTime DeathDate { get; set; }
Codef Alive { get; set; }
}
modo, la colonna principale "Alive" in destinatario in realtà fa riferimento al mio Recipient.Death.Alive.Code
I Ho una classe di mappatura codef:
public CodefMapping()
{
Map(x => x.Code, "CODE");
Map(x => x.Descr, "DESCR");
}
Sto cercando di eseguire la mappatura del destinatario e questo è il punto in cui sono bloccato. Posso fare qualcosa del genere:.
HasOne<CodefMapping>(c => c.Death.Alive)
.PropertyRef(c => c.Code)
.PropertyRef(c => c.Descr)
.WithForeignKey("ALIVE");
Non funziona :( Qualsiasi aiuto è molto apprezzato
Grazie
Penso che l'uso della frase "mutuamente esclusivo" non sia corretto in questo caso. L'esclusione reciproca significherebbe la sovrapposizione zero tra il set di identificatori nelle due tabelle.Se capisco correttamente il post del blog collegato, penso che indichi un identificatore condiviso. – Dan