2010-12-14 1 views
0

J'essaie de mapper une relation many-to-many en utilisant Fluent NHibernate.Fluent Nhibernate many-to-many où la table a plusieurs colonnes

J'ai une table User et une deuxième table Organisation. La table d'association est UserOrganization qui contient les UserId et OrganizationId. La table UserOrganization contient également quelques autres champs (YearBegan, YearEnd).

Comment pourrais-je aller de l'avant et cartographier ceux qui utilisent la cartographie fluide.

Merci

Répondre

0

Vous devriez probablement faire UserOrganization sa propre entité qui contient les champs. Cela vous donne également plus de flexibilité en termes de mises à jour en cascade et de suppressions.

public class UserOrganization { 
    public virtual User User { get; set; } 
    public virtual Organization Organization { get; set; } 
    public virtual DateTime YearBegan { get; set; } 
    public virtual DateTime YearEnd { get; set; } 
} 
+0

Nick, comment voulez-vous ajouter un nouvel utilisateur à une organisation existante. Souhaitez-vous générer un objet UserOrganization et lui affecter le nouvel utilisateur et l'organisation existante, puis utiliser un UserOrganizationRepository pour tout commettre? – Thomas

+0

Oui, exactement. Vous pouvez aussi habiller votre modèle de domaine utilisateur avec une méthode AddOrganization (Organization org, DateTime yearBegan, DateTime yearEnd) qui crée l'objet UserOrganization, définit les propriétés et ajoute à la collection User.Organizations. Rend plus simple quant à la façon de consommer le modèle de domaine. –

+0

Merci Nick, j'ai posté une question de suivi. Si vous avez une seconde j'aimerais votre contribution: http://stackoverflow.com/questions/4452722/fluent-nhibernate-many-to-many-issue – Thomas

Questions connexes