private void RetriveDefaultSessionFactoryName()
        {
            SessionFactoriesConfigSection sfcs = GetSessionFactoriesConfigSection();

            if (sfcs == null)
            {
                s_defaultSessionFactoryName = s_appSessionFactoryConfigPath;
                return;
            }

            foreach (SessionFactoriesConfigSectionElement element in sfcs.SessionFactories)
            {
                if (element.IsDefault)
                {
                    s_defaultSessionFactoryName = element.Name;
                    return;
                }
            }
        }
示例#2
0
        /// <summary>
        ///
        /// </summary>
        public static string ExportMappingAttribute()
        {
            List <string> assemblyNames = new List <string>();

            SessionFactoriesConfigSection repositoryConfig = System.Configuration.ConfigurationManager
                                                             .GetSection("nhibernateSettings") as SessionFactoriesConfigSection;

            if (repositoryConfig != null)
            {
                foreach (SessionFactoriesConfigSectionElement i in repositoryConfig.SessionFactories)
                {
                    switch (i.Type)
                    {
                    case "attribute":
                        assemblyNames.Add(i.Name);
                        break;
                    }
                }
            }
            return(ExportMappingAttribute(assemblyNames.ToArray()));
        }
        /// <summary>
        /// 根据名称得到SessionFactory
        /// sessionFactoryName=repCfgName, 可为空(此时返回默认)
        /// </summary>
        /// <param name="sessionFactoryName"></param>
        /// <returns></returns>
        public ISessionFactory GetSessionFactory(string sessionFactoryName)
        {
            if (string.IsNullOrEmpty(sessionFactoryName))
            {
                return(GetSessionFactoryByConfigPath(this.DefaultSessionFactoryName));
            }

            SessionFactoriesConfigSection sfcs = GetSessionFactoriesConfigSection();

            if (sfcs == null)
            {
                return(GetSessionFactoryByConfigPath(s_appSessionFactoryConfigPath));
            }
            else if (sfcs.SessionFactories[sessionFactoryName] == null)
            {
                return(GetSessionFactoryByConfigPath(sfcs.SessionFactories[DefaultSessionFactoryName].FactoryConfigPath));
            }
            else
            {
                return(GetSessionFactoryByConfigPath(sfcs.SessionFactories[sessionFactoryName].FactoryConfigPath));
            }
        }