Muchas gracias Fabricio y Diego, hacia falta asignar a mi mapping dynamic-update="true",
Al parecer me hizo falta un poco de lectura en la API, y lo pase sin darme cuenta... ¿No tiene desventajas hacerlo de este modo? Saludos.. J. Roberto Ramírez www.robertoramirez.com.mx Social Media [image: Linkedin] <http://www.linkedin.com/in/jramirezleyva>[image: Twitter] <http://twitter.com/bobbher> 2010/5/7 Diego Mijelshon <[email protected]> > 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 > -- Para escribir al Grupo, hágalo a esta dirección: [email protected] Para más, visite: http://groups.google.com/group/NHibernate-Hispano
