2010-05-11 9 views
0

J'ai une relation un-à-un dans ma base de données, et j'aimerais la combiner en un seul objet dans Fluent NHibernate. Les tables spécifiques dont je parle sont les tables aspnet_Users et aspnet_Membership de l'implémentation de l'appartenance ASP.NET par défaut. Je voudrais les combiner en un seul objet utilisateur simple et obtenir seulement les champs que je veux.Combinaison d'une relation un-à-un dans Fluent NHibernate

Je voudrais également faire en lecture seule, car je veux utiliser l'API intégrée ASP.NET Membership pour modifier. Je veux simplement profiter du chargement paresseux.

Toute aide serait appréciée. Merci!

Répondre

1

Comment utiliser la méthode Join de Fluent NHibernate pour joindre les tables de votre mapping. Voir le answer in this question de James Gregory.

+0

j'ai ajouté le rejoindre, mais il ne semble pas savoir comment relier les deux tables. Comment puis-je modifier les champs à rejoindre? –

+0

J'ai été en mesure de modifier le KeyColumn dans la jointure, et cela fonctionne exactement comme je le veux. Merci pour l'aide! –

0

Voici mon mapping terminé:

public class UserMap : ClassMap<User> 
{ 
    public UserMap() 
    { 
     Table("aspnet_Membership"); 

     Id(x => x.ID, "UserId"); 
     Map(x => x.EmailAddress, "Email"); 

     Join("aspnet_Users", m => 
      { 
       m.KeyColumn("UserId"); 
       m.Map(x => x.UserName); 
      }); 
    } 
} 
+0

Nice. Merci d'avoir partagé. – LordHits