2009-11-05 4 views
2

Disons que j'ai deux classes: Item et ItemCollection, où ItemCollection contient ordonnée liste d'objets Item avec un index, c'est-à-dire que la liste est ordonnée d'une manière spécifiée par l'utilisateur .Relation many-to-many dans NHibernate

Disons aussi qu'ils ont un grand nombre à plusieurs, un ItemCollection peuvent contenir de nombreux éléments et un élément peut appartenir à plusieurs ItemCollections.

Cela nécessiterait trois tables dans ma base de données. Un pour Item, un pour ItemCollection et un pour le mapping ordonné. La table de correspondance contiendra trois colonnes:

int ItemID 
int ItemCollectionID 
int ListIndex 

QUESTION: Comment décririez-vous concevoir la classe ItemCollection? La liste des objets Item doit-elle être une liste, un dictionnaire ou autre? À quoi ressemblerait le mappage de NHibernate pour obtenir le ListIndex dans l'image?

Répondre

3

Si vous utilisez Fluent NHibernate, vous trouverez une réponse dans le mappage HasMany dans le code de OrderMapping au this article.

Pour le mappage d'hibernation traditionnel (fichier XML), voir le chapitre 21.3 de la documentation de NHibernate here.