Как очистить определенные части сеанса, но не другие части?
Например:
ISessionFactory sessionFactory = CreateSessionFactory();
ISession session = sessionFactory.OpenSession();
Employee first = session.Get<Employee>(FirstEmployeeId);
Employee second = session.Get<Employee>(SecondEmployeeId);
first.Name = "Michael Johnson";
second.Name = "Karl Johnson";
session.Flush(first);
Отправляет в базу данных:
Update Employee SET FirstName = 'Michael Johnson' where Id = 123;
Это в основном сохранит первого сотрудника в базе данных, но не второго.
Сценарий, который я пытаюсь поддержать, заключается в том, что у вас есть приложение WPF с вкладками, в котором одновременно работают два сотрудника и редактируют обоих.
Я не могу поддерживать два сеанса, потому что, скажем, они так сильно взаимодействуют, что я рискну получить устаревшие данные, если внесу изменения в один (например, у Employees есть ReportsTo: Employee, который отображает как Имя. Первый сообщает Second. Если я поменяю имя на Second, я должен увидеть это на вкладке First.