我正试着在Fluent NHibernate中了解二级缓存。到目前为止,我已经完成了以下工作:
创建会话工厂时添加了以下内容:
c.SetProperty(“cache.provider_class”,“NHibernate.Caches.SysCache.SysCacheProvider,NHibernate.Caches.SysCache”);
c.SetProperty(“cache.use_second_level_cache”,“true”);
c.SetProperty(“cache.use_query_cache”,“true”);
添加了Cache.ReadWrite();针对我希望在ClassMap文件中缓存的所有实体,例如。
public class CountryMap:ClassMap { public CountryMap(){ 表( “国家”); Id(x => x.CountryID); Map(x => x.CountryName); Cache.ReadWrite(); } }
现在我假设任何时候我试图获得一个在映射中具有Cache.ReadWrite()的实体,它会在会话工厂(单例)的持续时间内缓存它。然而,似乎并非如此,因为每个请求都会遇到数据库。以下是我的几个问题:
如果你能提供帮助,我会很感激的。感谢