【问题标题】:What does NHibernate Session.Evict do?NHibernate Session.Evict 做什么?
【发布时间】:2011-05-20 09:17:12
【问题描述】:

下面的代码 sn-p 做了什么?为什么使用Evict

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

【问题讨论】:

    标签: nhibernate evict


    【解决方案1】:

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

    如果您的代码 sn-p 中的第一条指令未执行,则第二条指令不会从数据库中获取项目,而是简单地从一级缓存中返回它。

    【讨论】:

    • Evict 在从缓存中删除该对象之前是否保存该对象的任何更改?
    【解决方案2】:

    Session.evict() 用于将特定对象从 Persistent 状态移除到 Detached 状态。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-20
      • 1970-01-01
      相关资源
      最近更新 更多