J. Roberto, El comportamiento por defecto de NH es hacer un update de todos los campos con los valores actuales. Si quieres que mande sólo los campos modificados, tienes que incluir dynamic-update="true" en el elemento <class>. Ver http://nhforge.org/doc/nh/en/index.html#mapping-declaration-class (7)
Diego 2010/5/7 J. Roberto Ramírez <[email protected]> > Buenas tardes a todo el grupo. > > Tengo una duda en relación a como nuestro querido NH se comporta en los > Updates. > > Supongamos que yo tengo una clase Persona.cs. > > public class Persona { > private Int64 _id; > private String _nombre; > private String _apellidoPaterno; > private String _apellidoMaterno; > } > > Por supuesto su respectivo mapping: > > <?xml version="1.0" encoding="utf-8" ?> > <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="Core" > namespace="Core"> > <class name="Persona" table="tblPersonas" lazy="false"> > <id name="Id" column="id" type="System.Int64" unsaved-value="0"> > <generator class="identity" /> > </id> > <property name="Nombre" column="nombre" type ="System.String" /> > <property name="ApellidoPaterno" column="apellidoPaterno" type > ="System.String" /> > <property name="ApellidoMaterno" column="apellidoMaterno" type > ="System.String" /> > </class> > </hibernate-mapping> > > Tengo un fragmento de código en mi aplicación como el siguiente: > > using(var s = sessions.OpenSession()) > using(var tx = s.BeginTransaction()) { > var persona = s.Get<Persona>(1); > persona.Nombre = "Nuevo nombre"; > tx.Commit(); > } > } > > Quisiera saber porque NH al hacer hit a la base de datos me esta haciendo > un update a todos los campos de la tabla de Personas: > > UPDATE tblPersonas SET nombre = "Nuevo nombre", apellidoPaterno = "Apellido > actual", apellidoMaterno = "Apellido actual" WHERE id = 1 > > ¿Hay manera de evitar esto? ¿Hay modo de únicamente decirle a NH que de la > tabla Personas el único registro modificado fue el Nombre? ¿Si es así hacer > update solamente sobre el campo Nombre? > > Muchas gracias a todos. > > > J. Roberto Ramírez > www.robertoramirez.com.mx > Social Media [image: Linkedin] > <http://www.linkedin.com/in/jramirezleyva>[image: > Twitter] <http://twitter.com/bobbher> > > -- > Para escribir al Grupo, hágalo a esta dirección: > [email protected] > Para más, visite: http://groups.google.com/group/NHibernate-Hispano -- Para escribir al Grupo, hágalo a esta dirección: [email protected] Para más, visite: http://groups.google.com/group/NHibernate-Hispano
