这是可能的,从FNH,在下面的例子中看到“缓存”属性:
return Fluently.Configure(fileConfiguration)
.Database(MsSqlConfiguration
.MsSql2005
.ConnectionString(c => c.FromConnectionStringWithKey("Temp"))
.ShowSql()
.Cache(c => c.ProviderClass(typeof(NHibernate.Cache.HashtableCacheProvider).AssemblyQualifiedName)
.UseQueryCache()))
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<IMap>())
.ExposeConfiguration(c => {
c.EventListeners.PostLoadEventListeners = new IPostLoadEventListener[] {new TestPostLoadListener()};
})
.BuildSessionFactory();
干杯
AWC
注意,对于功能NHibernate> = 3.4.0.0它显示配置稍有不同。从http://nuget.org/packages/NHibernate.Caches.SysCache
return Fluently.Configure(fileConfiguration)
.Database(MsSqlConfiguration
.MsSql2005
.ConnectionString(c => c.FromConnectionStringWithKey("Temp"))
.ShowSql())
.Cache(c => c.ProviderClass<SysCacheProvider>().UseQueryCache())
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<IMap>())
.ExposeConfiguration(c => {
c.EventListeners.PostLoadEventListeners = new IPostLoadEventListener[] {new TestPostLoadListener()};
})
.BuildSessionFactory();
ProviderClass方法使用NuGet包为SysCache接受类型参数和使用可改写为'c.ProviderClass()'。 :) –
2010-03-17 10:02:18
只需注意一下,您可能已经知道:不要将HashTable Cacheprovider用于生产代码。 – Hace 2010-06-22 08:48:49
为什么不能?还有哪些其他选择? – Seva 2015-02-25 13:33:48