Il existe 2 classes: Produit et Image.Composition de la carte dans Fluent NHibernate
- Le produit a une seule image.
- Aucune image orpheline ne peut exister.
Cette représenter relation de composition en UML qui signifie:
Assigner Product.Image a Résultats de NewImage en suivant
- supprimer ancienne image;
- insérer une nouvelle image;
- lier une nouvelle image au produit.
Maintenant je dois mapper aux tables de SGBDR (méta-code):
Product (Id primary key, ImageId int references Image(id))
Image(Id primary key, Content)
La question est de savoir comment faire en utilisant Fluent NHibernate.
S'IL VOUS PLAÎT NOTE:
productMap.References(x => x.Image).Cascade.All()
n'est pas applicable - elle ne supprime pas l'image orpheline.
Aussi NH ne prend pas en charge tout-supprimer-orphelin pour plusieurs-à-un, un-à-un.
J'ai probablement besoin de quelque chose comme joindre avec le composant ...
MAIS EN FLUENT NH.
MISE À JOUR: James dans les groupes d'utilisateurs FNH a suggéré cette syntaxe:
WithTable("other table", m =>
{
m.Component(...);
});
Mais pas de chance avec elle: NotSupportedException: Obsolète
Il censé fonctionner dans v1 (upcomming) de FNH.
Ouais. J'ai probablement besoin d'un composant mais le devrait être dans une table séparée. J'ai donc probablement besoin de mélanger * join * avec * component *. Je ne vois pas comment je peux le faire en utilisant FNH. –