У меня есть два приложения, работающие на машине, где NHibernate используется в качестве ORM. Одно приложение управляет объектами (операции CRUD), а другое - объектами (получение, обработка, установка статуса и сохранение).
Сначала я позволил приложению обработки обработать объект и установить статус обработанного. Затем я вручную изменяю текстовое свойство в базе данных и сбрасываю статус (чтобы он снова обрабатывался). Ручное редактирование БД предназначено для имитации управляющего приложения. Тогда я начинаю видеть проблемы:
У объекта чтения все еще есть старое текстовое свойство, событие, хотя я изменил его в БД. Я думаю, что здесь кеширование в NHibernate.
Когда я устанавливаю статус объекта как обработанный, он использует все свойства в предложении where при обновлении, что означает, что он не обновляется в базе данных. Это потому, что у него неправильный текст в свойстве. Я думаю, это также связано с кэшированием.
Следствием того, что статус не обновляется, является то, что один и тот же объект (с неправильным текстом) обрабатывается снова и снова ...
Кто-нибудь, кто может помочь мне с тем, как мне настроить NHibernate, чтобы эта проблема исчезла?