Esta es la primera vez que estoy trabajando con FluentNhibernate Mapping y frente a una cuestión de cómo hacer referencia a otra tabla. Cualquier ayuda es apreciada:HasOne vs Referencias Mapping Fluido NHibernate
Tengo varias tablas llamadas CD_varname y todas estas contienen dos columnas - CÓDIGO y DESCR.
tengo una mesa principal llamada destinatario y tiene, dicen dos columnas, llamadas VIVO y sexo, ambos son de tipo y el número que hacer referencia a las tablas CD_ALIVE y CD_SEX. Si está Vivo = 1 en el Destinatario, entonces necesitamos obtener el código y descr de la tabla CD_ALIVE donde Código = 1.
he descrito una clase CODEF:
public Class Codef
{
int Code { get; set; }
string Descr { get; set; }
}
mi clase de destinatarios asigna éstos a un componente. clase de receptor se ve así:
public Class IRecepient
{
int ID { get; set; }
Birth Birth {get; set;}
Death Death { get; set; }
}
Cuando mi nacimiento y la muerte clases son:
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
}
y mi clase de la muerte:
public Class Death
{
DateTime DeathDate { get; set; }
Codef Alive { get; set; }
}
modo, la columna principal "vivo" en el receptor en realidad está haciendo referencia a mi Recipient.Death.Alive.Code
Tengo una clase de mapeo codef:
public CodefMapping()
{
Map(x => x.Code, "CODE");
Map(x => x.Descr, "DESCR");
}
Estoy tratando de hacer el mapeo de destinatarios y aquí es donde estoy atascado. ¿Puedo hacer algo como esto:.
HasOne<CodefMapping>(c => c.Death.Alive)
.PropertyRef(c => c.Code)
.PropertyRef(c => c.Descr)
.WithForeignKey("ALIVE");
No está funcionando :( Cualquier ayuda es muy apreciada
Gracias
Creo que el uso de la frase "mutuamente exclusivo" es incorrecto en este caso. Mutuamente excluyente significaría que habría una superposición cero entre el conjunto de identificadores en las dos tablas.Si entiendo correctamente la publicación del blog enlazado, creo que se refiere a un identificador compartido. – Dan