2009-10-13 10 views
2

Je suis en train de travailler sur la façon de gérer les relations suivantesNHibernate (courant) et beaucoup de nombreuses correspondances avec des métadonnées supplémentaires

Un magasin a de nombreux produits
Un produit est dans de nombreux magasins Un magasin sait combien de chaque Produit il a

Dans la base de données j'ai 3 tables des magasins, des produits et un StoreProducts qui a StoreId, ProductId et quantité.

Comment est-ce que je pourrais mapper ceci dans nHibernate ou dans nHibernate?

+0

psst, re: votre drapeau - vos ips sont complètement différents, afin de précaution peut vous s'il vous plaît modifiez le compte que vous voulez fusionner * en * celui-ci pour ajouter "s'il vous plaît fusionner mon compte en [shaun] (http://stackoverflow.com/users/189163/shaun)" dans la section "à propos de moi", puis re-flag demander une fusion. Merci. – Will

Répondre

1

[Cette réponse est générale à ORM et non spécifique à FNH]

Dans le (très bon) livre NHibernate In Action (voir la section 6.3.2), les auteurs expriment l'opinion qu'il est presque jamais worthwile en utilisant un many de nombreux mappages, car vous découvrirez presque toujours (peut-être plus tard) que vous voulez ajouter des méta-données supplémentaires au «lien» entre les deux entités et ainsi vous pouvez aussi modéliser ceci comme une entité à part entière (comme vous le dites avez fait dans votre question).

Comme vous l'avez déjà découvert, vous devez créer l'entité StoreProducts et plusieurs autres et un seul pour compléter l'association.

... juste si vous souhaitez confirmer que cette approche est « recommandé » :-)

0

Vous allez avoir à mapper une 3ème entité, je ne pense pas que la fonctionnalité intégrée de Many To Many supporte cela. Serait cool si quelqu'un me prouvé mal alors.

+0

Yup - Je suis arrivé à cette conclusion moi-même avec Store ayant une collection de StoreProducts où je porte les données spécifiques de magasin/produit spécifique et cela fait à son tour référence le produit –

Questions connexes