2010-10-21 2 views
1

Je suis nouveau à NHibernate et je l'essaie en portant une petite application webforms pour l'utiliser. J'essaie de savoir s'il est possible de la carte (cartes hmb.xml) les missions suivantes:Nhibernate mapping - Un enfant peut-il contenir une référence à sa collection parent?

public class Foo 
{ 
    public List<Bar> Children { get; set; } 

    public void AddBar(Bar b) 
    { 
     Children.Add(b); 
     b.OwnerCollection = Children; 
    } 
} 

public class Bar 
{ 
    public Foo Parent { get; set; } 
    public IList OwnerCollection { get; set; } 
} 

La raison de la référence OwnerCollection est une manipulation générique de l'ordre (la classe réelle a plusieurs listes différentes d'objets .

J'ai réussi à cartographier tout, mais je ne vois aucune façon d'établir la référence entre OwnerCollection et enfants

Merci, parent Mark H

Répondre

1

:.

<set name="Children" inverse="true" cascade="all-delete-orphan"> 
<key column="parent_id"/> 
<one-to-many class="Child"/> 
</set> 

enfant:

<many-to-one name="Parent" column="parent_id" not-null="true"/> 
+0

Désolé si je n'étais pas claire. J'ai le mappage de la propriété Parent qui fonctionne, j'ai besoin que la propriété OwnerCollection soit également mappée. –

0

Vous pouvez le faire dans le code:

public IList<Bar> OwnerCollection 
{ 
    get { return Parent.Children; } 
} 
Questions connexes