NHibernate обновляет неизменные записи

Когда я обновляю (со сбросом), одна запись в списке записей, полученных от базы данных nHibernate, является управлением версиями все записи, которые были в исходном списке.

Получение списка записей от базы данных:

using(UnitOfWork.Start())
{
   queuedJobs = aJobServiceManager.GetAllJobs().Where(aJob => aJob.Status == PricingStatus.QUEUED).ToList();
}

/* Do some work on the record*/
using(UnitOfWork.Start())
{
   //aJob is a record from queuedJobs.
   aJobServiceManager.Save(aJob);
   //When Flush is called I'm expecting only aJob to be updated in the database.
   //aJob is correctly updated BUT
   //All the other records in queuedJobs are also updated (their version field is incremented).
   UnitOfWork.Current.Flush();
}

Почему nHibernate обновляет все записи, когда они не изменились и как Вы останавливаете это поведение?

5
задан Lucas 24 January 2011 в 18:15
поделиться

1 ответ

Скорее всего, вы столкнулись именно с этой проблемой: http://nhibernate.info/blog/2008/10/20/how-test-your-mappings-the-ghostbuster.html

Было бы полезно увидеть ваш файл отображения для работы. Если вы делаете что-то вроде

<property name="Status" type="int" /> 

Где Status на самом деле StatusEnum, вы в конечном итоге получите ghosting.

9
ответ дан 14 December 2019 в 01:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: