Sto eseguendo un aggiornamento standard in NHibernate su una singola proprietà. Tuttavia sul commit della transazione l'aggiornamento sql sembra impostare tutti i campi che ho mappato sulla tabella anche se non sono stati modificati. Sicuramente questo non può essere un comportamento normale in Nhibernate? Sto facendo qualcosa di sbagliato? GrazieL'aggiornamento di NHibernate su singole proprietà aggiorna tutte le proprietà in 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();
}
}
appena incontrato la stessa situazione. Penso che questo sia un difetto di default e cercherò discussioni online nei forum appropriati. questo ha causato bug in un'applicazione server su cui sto lavorando - poiché modifica la logica dell'applicazione, in genere nei casi di azioni simultanee in cui viene creato un oggetto, quindi recuperato, recuperato da un altro thread/processo (sessione diversa), modificato e aggiornato (aggiornamento di campi separati non correlati). l'ultimo aggiornamento verrà eseguito sulle modifiche della transazione precedente ... Ho consultato questo con i miei colleghi e riteniamo che il guadagno in termini di prestazioni non sia drastico. –
@ YonatanKarni, questo non riguarda solo le prestazioni, ma anche la coerenza. Vedere questa [domanda] (/ q/13954882/1178314) e la sua [risposta attualmente accettata] (/ a/13955305/1178314). –