避免NHibernate中实体的一级缓存?

避免NHibernate中实体的一级缓存?,nhibernate,castle-activerecord,Nhibernate,Castle Activerecord,我有一个外部更新的实体(使用触发器、存储过程)。这意味着在同一会话中,实体可以在我不知情的情况下更改,并且我需要始终执行数据库命中,并且从不使用一级缓存中的实体 这是否可能使用NHibernate(或者实际上是Castle ActiveRecord)?您可以使用IStatelessSession而不是ISession来禁用一级缓存: using (ISessionFactory sf = cfg.BuildSessionFactory()) using (IStatelessSession se

我有一个外部更新的实体(使用触发器、存储过程)。这意味着在同一会话中,实体可以在我不知情的情况下更改,并且我需要始终执行数据库命中,并且从不使用一级缓存中的实体


这是否可能使用NHibernate(或者实际上是Castle ActiveRecord)?

您可以使用
IStatelessSession
而不是
ISession
来禁用一级缓存:

using (ISessionFactory sf = cfg.BuildSessionFactory())
using (IStatelessSession session = sf.OpenStatelessSession())
{
    // ...
}

您可以使用
IStatelessSession
而不是
ISession
来禁用一级缓存:

using (ISessionFactory sf = cfg.BuildSessionFactory())
using (IStatelessSession session = sf.OpenStatelessSession())
{
    // ...
}

在ActiveRecord中:无状态会话范围在ActiveRecord中:无状态会话范围