当前位置: 首页>>代码示例>>C#>>正文


C# NHibernate.Cache方法代码示例

本文整理汇总了C#中NHibernate.Cache方法的典型用法代码示例。如果您正苦于以下问题:C# NHibernate.Cache方法的具体用法?C# NHibernate.Cache怎么用?C# NHibernate.Cache使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在NHibernate的用法示例。


在下文中一共展示了NHibernate.Cache方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: AdjustConfiguration

 protected override void AdjustConfiguration(NHibernate.Cfg.Configuration cfg)
 {
     //XmlConfigurator.Configure();
     cfg.Cache(x =>
                   {
                       x.UseQueryCache = true;
                       x.Provider<HashtableCacheProvider>();
                   });
 }
开发者ID:adymitruk,项目名称:NHibernate-Deep-Dive,代码行数:9,代码来源:QueryCacheSpecification.cs

示例2: ApplyMapping

        public void ApplyMapping(Attribute attribute, Type type, NHibernate.Mapping.ByCode.IClassAttributesMapper mapper, MappingContext context)
        {
            var cacheAttr = (CacheAttribute)attribute;

            mapper.Cache(m =>
            {
                m.Usage(GetNHibernateCacheUsage(cacheAttr));
                m.Include(GetNHibernateCacheInclude(cacheAttr));

                if (!String.IsNullOrEmpty(cacheAttr.Region))
                {
                    m.Region(cacheAttr.Region);
                }
            });
        }
开发者ID:sigcms,项目名称:Seeger,代码行数:15,代码来源:CacheAttributeMapper.cs

示例3: mapper_BeforeMapClass

        static void mapper_BeforeMapClass(NHibernate.Mapping.ByCode.IModelInspector modelInspector,
            System.Type type,
            NHibernate.Mapping.ByCode.IClassAttributesMapper classCustomizer)
        {

            classCustomizer.Cache(cacheMapping => cacheMapping.Usage(NHibernate.Mapping.ByCode.CacheUsage.ReadWrite));

            string fullName = type.FullName; // example: Domain.TheProduction+Product

            string[] fullNameSplit = fullName.Split('+');

            string className = fullNameSplit[1];

            // Last() skips the other namespace(s)
            string schemaDomainName = fullNameSplit[0].Split('.').Last();

            string schemaName = schemaDomainName.Substring(0, schemaDomainName.Length - "Domain".Length); 

            string sqlServerFullName = schemaName + "." + className;
            classCustomizer.Table(sqlServerFullName);

            System.Reflection.MemberInfo mi = type.GetMember(className + "Id",
                System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance)[0];

            classCustomizer.Id(mi,
                idMapper =>
                {
                    idMapper.Column(className + "Id");
                    idMapper.Generator(NHibernate.Mapping.ByCode.Generators.Identity);
                });


        }
开发者ID:MichaelBuen,项目名称:DemoSpaArchitectureMvp,代码行数:33,代码来源:Mapper.cs

示例4: mapper_BeforeMapBag

        static void mapper_BeforeMapBag(
            NHibernate.Mapping.ByCode.IModelInspector modelInspector, 
            NHibernate.Mapping.ByCode.PropertyPath member, 
            NHibernate.Mapping.ByCode.IBagPropertiesMapper propertyCustomizer)
        {

            /*
             * class Person
             * {
             *      IList<Hobby> Hobbies
             * }
             * 
             * 
             */

            string parentEntity = member.LocalMember.DeclaringType.Name; // this gets the Person
            string foreignKey = parentEntity + "Id";            
            propertyCustomizer.Key(keyMapping => keyMapping.Column(foreignKey));


            // http://www.ienablemuch.com/2014/10/inverse-cascade-variations-on-nhibernate.html
            // best persistence approach: Inverse+CascadeAll 
            propertyCustomizer.Inverse(true);
            propertyCustomizer.Cascade(NHibernate.Mapping.ByCode.Cascade.All);
            propertyCustomizer.Cache(cacheMapping => cacheMapping.Usage(NHibernate.Mapping.ByCode.CacheUsage.ReadWrite));
        }
开发者ID:MichaelBuen,项目名称:DemoSpaArchitectureMvp,代码行数:26,代码来源:Mapper.cs

示例5: RegisterProperties

        protected virtual void RegisterProperties(NHibernate.Cfg.Configuration configuration)
        {
            configuration.Proxy(p => p.ProxyFactoryFactory<ComponentProxyFactoryFactory>());
            configuration.DataBaseIntegration(db =>
            {
                db.Dialect<MsSql2005Dialect>();
                db.Driver<SqlClientDriver>();
                //db.ConnectionStringName = "ConnectionString";
                db.ConnectionString = Common.Constants.AppConfig.ConnectionString;
                db.BatchSize = 10;
            });
            configuration.CurrentSessionContext<ThreadLocalConversationalSessionContext>();

            configuration.Cache(cp =>
            {
                cp.UseQueryCache = true;
                cp.Provider<SysCacheProvider>();
            });
        }
开发者ID:Mrding,项目名称:Ribbon,代码行数:19,代码来源:NHibernateConfigurator.cs


注:本文中的NHibernate.Cache方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。