如何在NHibernate> = 3.2中配置NHibernate的二级缓存?

reb*_*ard 3 nhibernate fluent-nhibernate nhibernate-caches

在升级到NHibernate 3.2之前,我使用了以下代码用于Fluent NHibernate:

OracleClientConfiguration configurer = (OracleClientConfiguration.Oracle10.ShowSql().ConnectionString(c =>
                         c.FromConnectionStringWithKey(ConnectionString.Development))
                         .DefaultSchema("MySchema")
                         .UseReflectionOptimizer()
          /* Here --> */ .Cache(c => 
                                 c.ProviderClass<SysCacheProvider>()
                                 .UseQueryCache()));
Run Code Online (Sandbox Code Playgroud)

但是,.Cache()NHibernate 3.2中不再使用扩展方法.

我该如何设置缓存提供程序?

编辑:我也尝试过:

        .ExposeConfiguration(configuration =>
        {
            configuration.SetProperty(Environment.UseQueryCache, "true");
            configuration.SetProperty(Environment.CacheProvider, "NHibernate.Caches.SysCache.SysCacheProvider, NHibernate.Caches.SysCache2");
        });
Run Code Online (Sandbox Code Playgroud)

Die*_*hon 6

这是我使用SysCache提供程序进行配置的摘录.

var configuration = new Configuration()
    .Cache(x => x.UseQueryCache = true)
configuration.SessionFactory()
    .Caching.Through<SysCacheProvider>().WithDefaultExpiration(60)
Run Code Online (Sandbox Code Playgroud)