Добрый день. Возможно задаю глупый вопрос, но поиски в интернете так и не дали мне подходящий ответ.
Собственно проблема такая. Запускаем два клиентских приложения, оба они при запуске вычитывают список Entity (некоторая сущность). Далее меняем в одном приложении имя у сущности и сохраняем в базу. Если после этого во втором приложении нажать кнопочку обновить, то ничего не изменится, имя у сущности останется старым. А вот если в первом приложении добавить новую сущность, то при обновлении во втором приложении она появится.
Хочется чтобы при обновлении получались актуальные данные из базы. Можно перед обновлением делать Clear у ISession или создавать другую ISession, либо вообще использовать IStatelessSession, но подходящие ли это решения, не приведут ли они к другим проблемам, что посоветуете делать?
Вот например таким тестом можно выразить проблему (тест не срабатывает):
[Test]
public void Cache()
{
Entity entity = SaveInDBEntityWithName("Имя");
ISession session1 = OpenNewSession();
session1.Get<Entity>(entity.Id);
ISession session2 = OpenNewSession();
session2.Get<Entity>(entity.Id).Name= "Измененное имя";
session2.Flush();
Assert.AreEqual("Измененное имя, session1.Get<Entity>(entity.Id). Name);
}