我有一个外部更新的实体(使用触发器,存储过程)。这意味着实体可以在我不知道的情况下在同一个会话中进行更改,并且我需要始终执行数据库命中,并且从不使用第一级缓存中的实体。
这可能是使用NHibernate(或实际上,Castle ActiveRecord)吗?
答案 0 :(得分:6)
您使用IStatelessSession
代替ISession
来禁用第一级缓存:
using (ISessionFactory sf = cfg.BuildSessionFactory())
using (IStatelessSession session = sf.OpenStatelessSession())
{
// ...
}