2010-09-07 2 views
1

pour référence J'utilise la version 2.1.2.4000 de Nhibernate.Dois-je appeler SaveOrUpdate() après avoir appelé Merge()?

J'ai passé à peu près une heure environ à lire la différence entre Merge() et SaveOrUpdate() et aucune explication ne tente de répondre à une question vraiment simple?

Je sais que Merge() fera toute la magie pour synchroniser les objets détachés avec des instances mises en cache ou obsolètes.

Mais, une fois que je l'ai « fusionné », et je ne veux pas changer l'entité plus longtemps ...

Dois-je appeler encore saveOrUpdate?

acclamations

+0

Avez-vous attaché les deux sens et observé les résultats? –

+0

c'est une question assez simple. savez-vous la réponse? – andy

+0

Non, mais j'étais curieux que vous ayez passé plus d'une heure à lire pour trouver la réponse, alors que vous pourriez juste la découvrir en essayant. –

Répondre

3

Vérifiez une autre thread. Le fait est que Merge() ne fait que rassembler les états de la session (de la base de données) et de votre objet détaché. Vous ne devriez plus utiliser d'objet détaché, mais utiliser un nouvel objet de la session fusionnée. Cet objet, bien sûr, doit être "enregistré ou mis à jour" afin de conserver les modifications car il a été modifié en raison de l'opération de fusion.

+0

mec, sauveur de vie! – andy

0
+0

c'est une réponse tout à fait inutile. avez-vous lu l'une ou l'autre question complètement? et avez-vous lu l'autre réponse entièrement? prenez particulièrement note du deuxième commentaire de la réponse choisie. – andy

+0

Désolé, c'était assez clair pour moi, mais Petr a copié la même URL et vous a donné quelques détails. –

+0

oui, la clarification et la clarté était ce dont j'avais besoin – andy

Questions connexes