【发布时间】:2011-05-19 01:47:18
【问题描述】:
我正在使用 NH 2.1.2.4。
我有这样的 Fluent NHibernate 查询缓存设置:
MsSqlConfiguration.MsSql2005
.Cache(c => c.UseQueryCache()
.ProviderClass(typeof(NHibernate.Caches.SysCache2.SysCacheProvider)))
我的标准如下所示:
Session.CreateCriteria<Employee>()
.Add(Restrictions.Eq("Username", username))
.SetMaxResults(1)
.SetCacheable(true)
.UniqueResult<Employee>();
但是,当我使用 SQL Profiler 时,我可以看到查询仍然始终针对数据库执行。不会对 Employee 表进行任何插入或更新。 为什么它不起作用?
我的 Employee 映射类将 Employee 指定为可缓存,如下所示:
public sealed class EmployeeDbMap : ClassMap<Employee>
{
public EmployeeDbMap()
{
....
Cache.ReadWrite();
}
}
【问题讨论】:
标签: nhibernate