У меня есть объект Nhibernate с именем Car, этот объект Car имеет коллекцию PersietentBag IList с именем Doors, все в отложенной загрузке.
если я это сделаю (НА СЕССИИ 1)
int singleDoor = Car.Doors[0];
самые ленивые коллекции загружаются из базы данных, и связанные объекты добавляются в кеш первого уровня, у меня будет в кеше первого уровня N объектов Car и N Doors, загруженных из db.
С другой стороны (в другой части кода В СЕССИИ 2) я загружаю те же объекты Car и выполняю то же задание
int singleDoor = Car,Doors[0];
и я выселяю машину и все объекты Door(s) из SESSION2
я изменяю состояние этих объектов и хочу прикрепить объекты doscontected к SESSION1 для сохранения и выполнения
mySession.Update(Car);
Но когда я пытаюсь обновить объекты Двери, очевидно, у меня возникает исключение (другой объект с тем же идентификатором и т. д.), потому что есть еще один объект с тем же идентификатором.
Боту трудно найти старый объект для удаления, как я могу ВЫСЕЛИТЬ старые объекты или очистить кеш 1-го уровня (только по типу и идентификатору) или удалить старые объекты из кеша и обновить то, что я хочу?
заранее спасибо.