C'est possible, mais un peu bizarre.
Tout d'abord, afin de déclarer en C#, modèle ressemblerait à ceci:
public class Model : IHasList<A>, IHasList<B>
{
IList<A> IHasList<A>.Items { get; set; }
IList<B> IHasList<B>.Items { get; set; }
}
Vous avez donc besoin de faire NHibernate comprendre que:
<bag name="IHasList<A>.Items" table="ModelItemA">
<key />
<one-to-many class="A" />
</bag>
<bag name="IHasList<B>.Items" table="ModelItemB">
<key />
<one-to-many class="A" />
</bag>
(Je suppose A et B sont des entités mappées avec une relation un-à-plusieurs régulière, modifiez-la en plusieurs-à-plusieurs ou élément et ajoutez des attributs cascade/inverse si nécessaire)
C'est assez propre, le désordre est en fait dans troduit par XML s'échappant. Vous devrez également utiliser les noms complets pour les classes.
Pourquoi est-ce différent de tout autre mappage pour vous? – Paco