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

标签 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()));

但是,.Cache() 扩展方法在 NHibernate 3.2 中不再存在。

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

编辑:我也试过:

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

最佳答案

这是我的配置的摘录,使用 SysCache 提供程序。

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

关于nhibernate - 如何在 NHibernate >= 3.2 中配置 NHibernate 的二级缓存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9978923/

相关文章:

NHibernate:HQL:从日期字段中删除时间部分

nhibernate - 在 NHibernate 3 中使用 Linq 时急切加载

c# - nHibernate:无法解析属性

c# - 具有类层次结构的 NHibernate 映射,其基类是抽象的且鉴别器不是字符串

c# - Nhibernate 二级缓存与 AliasesToBean 转换器

NHibernate 二级缓存——驱逐区域

NHibernate 映射属性与流畅的 NHibernate

c# - 此 Linq 查询的哪一部分对 nHibernate 无效?

c# - 如何有效地将 100s 到 1000s 的操作记录到数据库