Vor 3,2 bis NHibernate Upgrade, habe ich den folgenden Code für Fluent NHibernate:Wie konfiguriert man NHibernate's Second Level Cache in NHibernate> = 3.2?
OracleClientConfiguration configurer = (OracleClientConfiguration.Oracle10.ShowSql().ConnectionString(c =>
c.FromConnectionStringWithKey(ConnectionString.Development))
.DefaultSchema("MySchema")
.UseReflectionOptimizer()
/* Here --> */ .Cache(c =>
c.ProviderClass<SysCacheProvider>()
.UseQueryCache()));
jedoch die .Cache()
Erweiterungsmethode länger in NHibernate 3.2 gefunden wird nicht.
Wie würde ich meinen Cache-Provider einrichten?
Edit: Ich habe auch versucht:
.ExposeConfiguration(configuration =>
{
configuration.SetProperty(Environment.UseQueryCache, "true");
configuration.SetProperty(Environment.CacheProvider, "NHibernate.Caches.SysCache.SysCacheProvider, NHibernate.Caches.SysCache2");
});
Dies funktioniert jedoch, NHibernate Profiler sagt "Second Level Cache Put: N (sagen, 44)", während die "Cache Hit Count" 0 sagt. Haben Sie eine Idee, warum Caching nicht funktioniert? – rebelliard
@rebelliard - bist du weiter gekommen, als du herausgefunden hast, warum es nicht funktioniert hat? Es scheint auch nicht für mich zu funktionieren ... –
@Hainesy Ich tat es eigentlich nie. In der Tat, ich habe nur überprüft und ich Rollback mein Projekt auf NH 3.1.x (+ Fluent Hibernate + Sharp Architektur) aus diesem Grund. Ich bin seither nicht mehr hauptsächlich mit C# beschäftigt, daher bin ich mir nicht sicher, was sich in diesem Jahr in Bezug auf dieses Problem geändert hat ... – rebelliard