NHibernate缓存/删除问题?

Mar*_*ing 5 .net nhibernate caching

我正在使用NHibernate并在我的NHibernate配置中指定了缓存区域:

<cache region="HalfHour" expiration="1800" priority="3" />
Run Code Online (Sandbox Code Playgroud)

我有一个实体定义(UserDefinedGroup)设置为在读写模式下使用此缓存区域:

<class name="UserDefinedGroup" table="Message_Groups">
    <cache region="HalfHour" usage="read-write" />
    ...
</class>
Run Code Online (Sandbox Code Playgroud)

我还有一个HQL查询,它设置为使用查询缓存,因为它返回大量UserDefinedGroup实例:

var results = Session.CreateQuery("from UserDefinedGroup order by Name")
                .SetCacheable(true)
                .SetCacheRegion("HalfHour")
                .List<UserDefinedGroup>();
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试删除一个实例时,UserDefinedGroup即使实体设置为使用读写缓存,我也会收到以下错误.

ReadOnlyCache:无法写入只读对象Cristal.Model.UserDefinedGroups.UserDefinedGroup

我是否完全忽略了NHibernate缓存的观点或误解?我希望这可以执行删除和缓存适当地处理自己,但显然这不会发生.

dda*_*ngo 4

该缓存区域是否被任何其他实体使用?如果是,是否存在只读缓存的用法?特定区域应该只有一种使用类型。