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