EntitésNHibernate mise à jour de référence
Nous avons une entité appelée produit qui est chargé en utilisant NHibernate.
Le produit a une catégorie que NHibernate remplit avec bonheur pour moi.
Database
Dans la base de données, le produit a une clé étrangère pour la catégorie.
Scénario
utilisateur édite ce produit (via une interface web) et choisit une autre catégorie (par exemple au lieu de "poisson" nous choisissons "Veg").
Ceci est probablement une liste déroulante, avec chaque catégorie affichée. Quand ils choisissent une catégorie différente, nous obtenons une clé int.
Problème
Il est évident que nous voulons maintenant enregistrer les modifications au produit mais en effet le seul changement est d'enregistrer un nouveau int (par exemple 2, au lieu de 1).
Donc, nous récupérons le produit existant, et maintenant vient le problème.
Nous n'avons pas de champ "CategoryID" sur Product, nous n'avons qu'une propriété Category.
Mais nous ne voulons pas vraiment récupérer la catégorie (par ID) juste pour l'assigner au produit.
donc je suppose que ce que je veux savoir si nous ...
a) Ajouter une propriété CategoryID au produit
b) créer une nouvelle catégorie, attribuez-lui l'id pertinent et que joindre à produit (mais sûrement qui provoqueront des erreurs, ou remplacer la catégorie existante)
c) Récupérer (recherche) la catégorie du système (par id) et fixez que le produit
d) Est-ce autre chose !
Oui, cela semble fonctionner. La seule petite complication que j'ai eue était que pour un champ datetime nullable je devais m'assurer que mes mappings et model reflétaient le fait qu'il était nullable (sinon NHibernate a jeté une erreur au sujet des valeurs datetime invalides) –
mais cette date nullable était sur le produit (pas la catégorie) droit? – dotjoe
+1 Je suis revenu à nouveau. :) – Dusty