NHibernate会话。驱逐做什么?

NHibernate会话。驱逐做什么?,nhibernate,evict,Nhibernate,Evict,下面的代码段是做什么的?为什么要使用逐出 private void DoEvict(customer cust) { AddressRepository.Evict(cust.Address); cust.Address = AddressRepository.Get(cust.Address.Id); } 逐出从NHibernate一级缓存中删除该特定的“地址”引用 如果代码段中的第一条指令未执行,则第二条指令将从一级缓存返回,而不是从数据库中获取该项。Session.exe

下面的代码段是做什么的?为什么要使用
逐出

private void DoEvict(customer cust)
{
    AddressRepository.Evict(cust.Address);
    cust.Address = AddressRepository.Get(cust.Address.Id);
}

逐出从NHibernate一级缓存中删除该特定的“地址”引用


如果代码段中的第一条指令未执行,则第二条指令将从一级缓存返回,而不是从数据库中获取该项。

Session.execute()用于将特定对象从持久状态删除为分离状态。

从缓存中删除该对象之前,“退出”是否保存对该对象的任何更改?