Estoy realizando una actualización estándar en NHibernate a una sola propiedad. Sin embargo, en la confirmación de la transacción, la actualización sql parece establecer todos los campos que he mapeado en la tabla, aunque no hayan cambiado. Sin duda, este no puede ser el comportamiento normal en Nhibernate? ¿Estoy haciendo algo mal? GraciasActualización de NHibernate en propiedad única actualiza todas las propiedades en sql
using (var session = sessionFactory.OpenSession())
{
using (var transaction = session.BeginTransaction())
{
var singleMeeting = session.Load<Meeting>(10193);
singleMeeting.Subject = "This is a test 2";
transaction.Commit();
}
}
acabo de encontrar la misma situación. Creo que este es un mal incumplimiento y buscaré discusiones en línea en los foros apropiados. esto ha causado errores en una aplicación de servidor en la que estoy trabajando, ya que cambia la lógica de la aplicación, generalmente en casos de acciones concurrentes donde se crea un objeto, luego se busca, se busca por otro hilo/proceso (sesión diferente), se modifica y se actualiza (actualizar campos separados no relacionados). la última actualización se ejecutará sobre los cambios en la transacción anterior ... He consultado esto con mis colegas y creemos que el aumento en el rendimiento no es drástico. –
@YonatanKarni, esto no solo sobre el rendimiento sino también sobre la consistencia. Ver esta [pregunta] (/ q/13954882/1178314), y su [respuesta aceptada actualmente] (/ a/13955305/1178314). –