Устаревшие данные в кеше первого уровня - PullRequest
0 голосов
/ 27 декабря 2011

В моей базе данных одновременно работает несколько сессий.(обычный сеанс БД и сеанс NHibernate)

Первый раз, когда я получаю сущность из БД, сущность сохраняется в кеше первого уровня - карте идентичности.

что происходит, если после первогозапрос Сущность изменилась за пределами сеанса NH?данные устарели.

session.Get<Cat>(1).Name == "Bar" // true
// different session trigger updated the cat name to "Foo"    
session.Get<Cat>(1).Name == "Bar" // true

Есть ли способ синхронизировать сеанс NHibernate с изменениями вне сеанса?

1 Ответ

2 голосов
/ 27 декабря 2011

Это просто:

session.Refresh(cat);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...