2010-12-01 12 views
0

L'utilisation FluentNhiberante est-il un moyen de cartographier les éléments suivants:FluentNhibernate Cartographie de la table de consultation pour les propriétés de parent Objet

Parent Tableau (employé)

EmployeeId INT Primary Key 
FirstName 
LastName 
EmployeeTypeId 

Table de recherche (EmployeType)

EmployeeTypeId INT Primary Key 
EmployeeTypeDescription 

Ma classe est définie comme suit:

public class Employee 
{ 
    int EmployeeId {get; set;} 
    ... 
    string EmployeeTypeDescription {get; set;} 
} 

Existe-t-il un moyen via le mappage FluentNhibernate pour remplir la propriété EmployeeTypeDescription dans l'objet Employee de la table EmployeeTypeDescription en recherchant à l'aide de la colonne EmployeeTypeId dans Employee? Je suis assez sûr que la façon normale et appropriée d'effectuer cela consiste à utiliser des références dans le fichier de mappage, puis en ajoutant une propriété EmployeeType à la classe Employee et en accédant à la description à l'aide de Employee.EmployeeType.EmployeeTypeDescription. Je ne suis pas en mesure de modifier le code pour le faire en ce moment, je me demande donc comment définir la propriété EmployeeTypeDescription pour l'instant.

Répondre

0

Vous pouvez mapper la classe à une vue.

Vous avez raison dans la mesure du possible.

2

il devrait être possible tordant le examplecode ci-dessous:

public class EmployeeMap : ClassMap<Employee> 
{ 
    public EmployeeMap() 
    { 
     ... 
     Join("EmployeeType", join => 
     { 
      join.KeyColumn("EmployeeTypeId"); 
      join.Map(k => k.TherapieOK, "somecolumn")); 
     } 
     ... 
    } 
}