Dies ist möglich, von FNH, im Beispiel unten finden Sie in der 'Cache' Immobilie:
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();
Prost
AWC
Hinweis, für Fluent NHibernate> = 3.4.0.0 es erscheint die Konfiguration etwas anders. Verwenden Sie das nuget Paket für SysCache von 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 Methode akzeptiert Typ Parameter und Nutzung kann als 'c.ProviderClass neu geschrieben werden()'. :) –
Nur eine Notiz, die Sie wahrscheinlich schon wissen: Verwenden Sie nicht den HashTable-Cacheprovider für den Produktionscode. – Hace
Warum nicht? Welche anderen Optionen sind verfügbar? – Seva