Esto es posible a partir de la HNF, en el siguiente ejemplo ver el 'caché' de propiedad:
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();
Saludos
AWC
Nota, por Fluido NHibernate> = 3.4.0.0 parece que la configuración es ligeramente diferente. Utilice el paquete Nuget para SysCache de 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();
método ProviderClass acepta tipo de parámetro y su uso se puede reescribir como 'c.ProviderClass()'. :) –
Solo una nota que probablemente ya sepa: no use el proveedor de Caché HashTable para el código de producción. – Hace
¿Por qué no? ¿Cuáles son las otras opciones disponibles? – Seva