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; } } }
/// <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)); } }