Что делает NHibernate Session.Evict? Что делает следующий фрагмент кода? Почему использование Evict? private void DoEvict(customer cust) { AddressRepository.Evict(cust.Address); cust.Address = AddressRepository.Get(cust.Address.Id); } Ответ 1 Вывод исключает эту специфическую ссылку "Адрес" из кеша первого уровня NHibernate. Если первая инструкция в фрагменте кода не была выполнена, вторая, а не выборка из базы данных, просто вернет ее из кеша первого уровня. Ответ 2 Session.evict() используется для удаления определенного объекта из состояния Persistent в состояние "Отдельно".
Ответ 1 Вывод исключает эту специфическую ссылку "Адрес" из кеша первого уровня NHibernate. Если первая инструкция в фрагменте кода не была выполнена, вторая, а не выборка из базы данных, просто вернет ее из кеша первого уровня.
Ответ 2 Session.evict() используется для удаления определенного объекта из состояния Persistent в состояние "Отдельно".