#pragma warning disable 1591 public void AddMappings(ref global::NHibernate.Cfg.Configuration config) { LoadAssemblies(); foreach (var asm in AppDomain.CurrentDomain.GetAssemblies()) { // при любом обращении к динамической сборке появляется Exception try { var tmp = asm.Location; } catch (Exception) { continue; } if (IsSearchMappingsInAssembly(asm)) { config.AddAssembly(asm); if (this.logger?.IsEnabled(LogLevel.Information) == true) { this.logger.LogInformation("Mappings added from assembly: " + asm.FullName); } } else { if (this.logger?.IsEnabled(LogLevel.Debug) == true) { this.logger.LogDebug("Skip finding mappings from assembly: " + asm.FullName); } } } }
/// <summary> /// Builds the session factory with the given properties. Database is updated if updateSchema is set /// </summary> public ISessionFactory Build(Configuration nhibernateConfiguration) { var scannedAssemblies = typesToScan.Select(t => t.Assembly).Distinct(); foreach (var assembly in scannedAssemblies) { nhibernateConfiguration.AddAssembly(assembly); } var modelMapper = new SagaModelMapper(typesToScan.Except(nhibernateConfiguration.ClassMappings.Select(x => x.MappedClass))); nhibernateConfiguration.AddMapping(modelMapper.Compile()); try { return(nhibernateConfiguration.BuildSessionFactory()); } catch (Exception e) { if (e.InnerException != null) { throw new ConfigurationErrorsException(e.InnerException.Message, e); } throw; } }
/// <summary> /// Builds the session factory with the given properties. Database is updated if updateSchema is set /// </summary> public ISessionFactory Build(Configuration nhibernateConfiguration) { var scannedAssemblies = typesToScan.Select(t => t.Assembly).Distinct(); foreach (var assembly in scannedAssemblies) { nhibernateConfiguration.AddAssembly(assembly); } var modelMapper = new SagaModelMapper(typesToScan.Except(nhibernateConfiguration.ClassMappings.Select(x => x.MappedClass))); nhibernateConfiguration.AddMapping(modelMapper.Compile()); try { return nhibernateConfiguration.BuildSessionFactory(); } catch (Exception e) { if (e.InnerException != null) throw new ConfigurationErrorsException(e.InnerException.Message, e); throw; } }
/// <summary> /// Configures NHibernate /// </summary> public void Configure() { // Arashi.Core.NHibernate configuration = new Configuration(); configuration.Configure(); configuration = configuration.AddAssembly("Arashi.Core.NHibernate"); SessionFactory = configuration.BuildSessionFactory(); }
protected virtual ISessionFactory CreateFactory() { Logger.Info("Loading Configuration..."); try { var config = new global::NHibernate.Cfg.Configuration(); var strat = new EnhancedNamingStrategy { TablePrefix = Settings.TablePrefix }; config.SetNamingStrategy(strat); config.SetProperties(Settings.Properties); foreach (var directory in Settings.MappingDirectories) { var dir = new DirectoryInfo(directory); config.AddDirectory(dir); } foreach (var file in Settings.MappingFiles) { config.AddFile(file); } foreach (var assembly in Settings.MappingAssemblies) { config.AddAssembly(assembly); } return(config.BuildSessionFactory()); } catch (Exception x) { Logger.Error(x, "Error while loading configuration."); throw; } finally { Logger.Info("Configuration successfully loaded."); } }
static NHibernateHelper() { _configuration = new global::NHibernate.Cfg.Configuration(); _configuration.AddAssembly(Config.NhibernateAssembly); _sessionFactory = _configuration.BuildSessionFactory(); }