2010-07-16 3 views
0

Я использую активную запись замка, я загружаю enity с использованием метода .Find(), после обновления базы данных я вызываю entity.Refresh(), но объект не обновляется, данные что я изменился в базе данных, не отражается в состоянии объекта. Я полностью потеряю, как заставить это работать.Замок Объект Activerecord не обновляется

+0

Вы используете кеш второго уровня? –

ответ

0

Эта проблема, вероятно, исходит из кеша NHibernate.

Чтобы сохранить соединение с базой данных, если объект был загружен из базы данных, он хранится в кеше (хотя и не истек), а NHibernate предоставит вам кешированное значение, если вы хотите получить это значение.

Если вы делаете прямое обновление dabase, вы не увидите его в приложении до истечения срока действия кеша.

Чтобы предотвратить это, если ваша база может быть обновлена ​​напрямую, вам необходимо деактивировать кеш-память NHibernate.

+0

Я посмотрел вокруг и не могу найти, как я могу отключить кеш, вы знаете, как это сделать? – Matthew

Смежные вопросы