2010-05-12 4 views
0

Je suis nouveau sur NHibernate. Comme je fais une application factice pour apprendre, j'ai un doute. Je vous demande s'il vous plaît me clarifier sur ma question.NHibernate Sauvegarder les détails Performance

Je fais une page de réinitialisation de mot de passe dans laquelle j'obtiens les détails de l'utilisateur et réinitialise le mot de passe et sauvegarde dans la base de données.

1) Do I need to retrieve complete(whole row) details of the user. 
2) If yes, I dont really need all the details of the user apart from his/her emailId to which I need to send an email. 
3) If no, then how NHibernate knows that which details I changed while saving. How can I tell to NHibernate that you need to update only password column. 

Veuillez clarifier.

Mahesh

Répondre

0

Dans vos fichiers de mappage, vous pouvez spécifier les propriétés à 'lazyload'. Cela signifie qu'ils ne seront pas récupérés la première fois que vous interrogez, mais uniquement lorsque vous utilisez réellement la propriété dans le code, lors de l'exécution.

Habituellement, ceci n'est fait que pour les propriétés qui pointent vers d'autres tables et qui ne sont pas toujours nécessaires. Récupérer toute la rangée d'une table ne devrait pas gêner les performances. Vous pouvez récupérer l'objet via NHibernate, modifier la propriété et l'enregistrer dans la base de données. Vous ne devriez pas avoir à vous soucier de quoi que ce soit d'autre alors.

Pour la question sur la façon dont NHibernate sait quoi mettre à jour: cochez cette case FAQ.

+0

Excellent. Je vous remercie. – Mahesh