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


C# NHibernate.Cfg.Configuration.AddXml方法代码示例

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


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

示例1: ConfigurationBuilder

        public ConfigurationBuilder(IContentTypeManager definitions, DatabaseSection databaseSectionConfig)
        {
            _definitions = definitions;

            if (databaseSectionConfig == null)
                databaseSectionConfig = new DatabaseSection();

            var configuration = MsSqlConfiguration.MsSql2008
                //.ConnectionString(c => c.FromConnectionStringWithKey(databaseSectionConfig.ConnectionStringName))
                .Cache(c => c.ProviderClass(databaseSectionConfig.CacheProviderClass));

            if (databaseSectionConfig.CacheEnabled)
                configuration = configuration.Cache(c => c.UseQueryCache());

            IDictionary<string, string> properties = configuration.ToProperties();
            properties["cache.use_second_level_cache"] = databaseSectionConfig.CacheEnabled.ToString();
            properties["connection.connection_string_name"] = databaseSectionConfig.ConnectionStringName;

            //ZeusPersistenceModel persistenceModel = new ZeusPersistenceModel();
            //persistenceModel.Mappings.(DefaultLazy.AlwaysTrue());

            _configuration = new NHibernate.Cfg.Configuration().AddProperties(properties);

            AddMapping(_configuration, "Zeus.Persistence.NH.Mappings.Default.hbm.xml");
            //_configuration.AddAssembly(Assembly.GetExecutingAssembly());

            //persistenceModel.Configure(_configuration);

            //persistenceModel.WriteMappingsTo(@"C:\mappings");

            // For each definition, add a <subclass> element to mapping file.
            StringBuilder mappings = new StringBuilder();
            foreach (Type type in EnumerateDefinedTypes())
            {
                string format = (typeof(WidgetContentItem) == type) ? _widgetClassFormat : _classFormat;
                mappings.AppendFormat(format, GetName(type), GetName(type.BaseType), GetDiscriminator(type));
            }
            string configurationXml = string.Format(_mappingFormat, mappings);
            _configuration.AddXml(configurationXml);
        }
开发者ID:dpawatts,项目名称:zeus,代码行数:40,代码来源:ConfigurationBuilder.cs

示例2: CreateStatelessDbSession

        /// <summary>
        /// 创建StatelessDbSession对象
        /// </summary>
        /// <param name="connectionString">连接字符串</param>
        /// <param name="dbDialectProvider">数据库特性对象提供程序</param>
        /// <param name="mappingXml">实体关系映射配置Xml文本</param>
        /// <returns>返回StatelessDbSession对象</returns>
        public virtual StatelessDbSession CreateStatelessDbSession(string connectionString, IDbDialectProvider dbDialectProvider, string mappingXml)
        {
            ISessionFactory sf = null;
            while (!sessionFactories.TryGetValue(connectionString, out sf))
            {
                IDictionary<string, string> dbSetting = new Dictionary<string, string>
                {
                    ["dialect"] = dbDialectProvider.DialectName,
                    ["connection.connection_string"] = connectionString,
                };
                CustomizeNHSessionFactory(dbSetting);
                var x = new NHibernate.Cfg.Configuration();
                x = x.AddProperties(dbSetting);
                //允许采用配置文件修改NHibernate配置
                var hc = ConfigurationManager.GetSection(CfgXmlHelper.CfgSectionName) as NHibernate.Cfg.IHibernateConfiguration;
                if ((hc != null && hc.SessionFactory != null) || File.Exists(GetDefaultConfigurationFilePath()))
                {
                    x = x.Configure();
                }
                if (System.Transactions.Transaction.Current != null)
                {
                    //如果在分布式事务范围内,就将连接释放模式更改为on_close模式,防止auto模式下,重新获取连接,导致分布式事务升级
                    x.AddProperties(new Dictionary<string, string> {["connection.release_mode"] = "on_close" });
                }
                //添加实体关系映射
                if (!string.IsNullOrWhiteSpace(mappingXml))
                {
                    x.AddXml(mappingXml);
                }

                sf = x.BuildSessionFactory();
                sessionFactories.TryAdd(connectionString, sf);
            }
            return new StatelessDbSession(sf, connectionString);
        }
开发者ID:morowind,项目名称:BizCruiser,代码行数:42,代码来源:DbSessionFactory.cs


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