public Configuration GetConfiguration()
        {
            if (this.configuration != null)
            {
                return(this.configuration);
            }

            var mappingAssemblies    = GetMappingAssemblies();
            var autoPersistenceModel = GenerateAutoPersistenceModel(mappingAssemblies);

            var builder = new NHibernateSessionFactoryBuilder()
                          .AddMappingAssemblies(mappingAssemblies)
                          .UseAutoPersistenceModel(autoPersistenceModel);

            var defaultConfigFilePath = Path.Combine(basePath, NHibernateSessionFactoryBuilder.DefaultNHibernateConfigFileName);

            if (File.Exists(defaultConfigFilePath))
            {
                Debug.WriteLine(
                    $"Found default configuration file {NHibernateSessionFactoryBuilder.DefaultNHibernateConfigFileName} in output folder. Loading configuration from '{defaultConfigFilePath}'.");
                builder.UseConfigFile(defaultConfigFilePath);
            }

            configuration = builder.BuildConfiguration();
            return(configuration);
        }
Exemplo n.º 2
0
        public void set_repository()
        {
            NHibernateSessionFactoryBuilder session_factory_builder = new NHibernateSessionFactoryBuilder(configuration);
            Configuration   cfg     = null;
            ISessionFactory factory = session_factory_builder.build_session_factory(x => { cfg = x; });

            repository = new Repository(factory, cfg);
        }
Exemplo n.º 3
0
            protected virtual ISessionFactory BuildSessionFactory(Assembly assembly)
            {
                var configuration         = BuildNHibernateConfiguration(assembly);
                var sessionFactoryBuilder = new NHibernateSessionFactoryBuilder(configuration);
                var sessionFactory        = sessionFactoryBuilder.Build();

                return(sessionFactory);
            }
Exemplo n.º 4
0
        public void WhenUsingDataAnnotationValidators_ShouldKeepRegisteredPreUpdateEventListeners()
        {
            Configuration configuration = new NHibernateSessionFactoryBuilder()
                                          .UseConfigFile(GetConfigFullName())
                                          .UseDataAnnotationValidators(true)
                                          .BuildConfiguration();

            configuration.EventListeners.PreUpdateEventListeners.Should().Contain(l => l is PreUpdateListener);
        }
Exemplo n.º 5
0
 public when_nhibernate_session_factory_is_created_for_sql_server()
 {
     config = new DefaultConfiguration
     {
         DatabaseType     = "roundhouse.databases.sqlserver.SqlServerDatabase, roundhouse.databases.sqlserver",
         ConnectionString = "Server=(local);initial catalog=TestRoundhousE;Integrated Security=SSPI;"
     };
     sut = new NHibernateSessionFactoryBuilder(config);
 }
 /// <inheritdoc />
 protected override void Customize(NHibernateSessionFactoryBuilder builder)
 {
     base.Customize(builder);
     builder.UsePersistenceConfigurer(new SQLiteConfiguration().InMemory());
     builder.UseProperties(new SortedList <string, string>()
     {
         [Environment.ReleaseConnections] = "on_close",
         [Environment.Hbm2ddlAuto]        = "create"
     });
 }
Exemplo n.º 7
0
        public void CanInitializeWithConfigFile()
        {
            Configuration configuration = new NHibernateSessionFactoryBuilder()
                                          .UseConfigFile(GetConfigFullName())
                                          .BuildConfiguration();

            configuration.Should().NotBeNull();

            configuration.BuildSessionFactory();
        }
Exemplo n.º 8
0
        public void CanInitializeWithConfigFileAndConfigurationFileCache()
        {
            Configuration configuration = new NHibernateSessionFactoryBuilder()
                                          .UseConfigFile(GetConfigFullName())
                                          .BuildConfiguration();

            Assert.That(configuration, Is.Not.Null);

            configuration.BuildSessionFactory();
        }
        public void CanInitializeWithConfigFile()
        {
            Configuration configuration = new NHibernateSessionFactoryBuilder()
                .UseConfigFile(GetConfigFullName())
                .BuildConfiguration();

            Assert.That(configuration, Is.Not.Null);

            configuration.BuildSessionFactory();
        }
Exemplo n.º 10
0
        ISessionFactory CreateSessionFactory(IKernel kernel)
        {
            ISessionFactory sessionFactory = new NHibernateSessionFactoryBuilder()
                                             .AddMappingAssemblies(new[] { HostingEnvironment.MapPath(@"~/bin/Suteki.TardisBank.Infrastructure.dll") })
                                             .UseAutoPersistenceModel(new AutoPersistenceModelGenerator().Generate())
                                             .UseConfigFile(HostingEnvironment.MapPath("~/NHibernate.config"))
                                             .UseConfigurationCache(new NHibernateConfigurationFileCache())
                                             .BuildSessionFactory();

            return(sessionFactory);
        }
Exemplo n.º 11
0
        public void CanInitializeWithConfigFileAndConfigurationFileCache()
        {
            Configuration configuration = new NHibernateSessionFactoryBuilder()
                                          .UseConfigurationCache(new NHibernateConfigurationFileCache("default", "NHibernateFactoryBuilderTests.bin"))
                                          .UseConfigFile(GetConfigFullName())
                                          .BuildConfiguration();

            configuration.Should().NotBeNull();

            configuration.BuildSessionFactory();
        }
        ISessionFactory CreateSessionFactory(IKernel kernel)
        {
            ISessionFactory sessionFactory = new NHibernateSessionFactoryBuilder()
                .AddMappingAssemblies(new[] { HostingEnvironment.MapPath(@"~/bin/Suteki.TardisBank.Infrastructure.dll") })
                .UseAutoPersistenceModel(new AutoPersistenceModelGenerator().Generate())
                .UseConfigFile(HostingEnvironment.MapPath("~/NHibernate.config"))
                .UseConfigurationCache(new NHibernateConfigurationFileCache())
                .BuildSessionFactory();

            return sessionFactory;
        }
        public void CanInitializeWithConfigFileAndConfigurationFileCache()
        {
            Configuration configuration = new NHibernateSessionFactoryBuilder()
                                          .UseConfigurationCache(new NHibernateConfigurationFileCache("default", _tempFileName))
                                          .WithFileDependency("SharpArch.NHibernate")
                                          .UseConfigFile(GetConfigFullName())
                                          .BuildConfiguration();

            Assert.That(configuration, Is.Not.Null);

            configuration.BuildSessionFactory();
        }
Exemplo n.º 14
0
        public void CanInitializeWithPersistenceConfigurerAndNoConfigFile()
        {
            SQLiteConfiguration persistenceConfigurer =
                SQLiteConfiguration.Standard.ConnectionString(c => c.Is("Data Source=:memory:;Version=3;New=True;"));

            Configuration configuration = new NHibernateSessionFactoryBuilder()
                                          .UsePersistenceConfigurer(persistenceConfigurer)
                                          .BuildConfiguration();

            Assert.That(configuration, Is.Not.Null);
            configuration.BuildSessionFactory();
        }
Exemplo n.º 15
0
        public void CanInitializeWithPersistenceConfigurerAndNoConfigFile()
        {
            SQLiteConfiguration persistenceConfigurer =
                SQLiteConfiguration.Standard.ConnectionString(c => c.Is("Data Source=:memory:;Version=3;New=True;"));

            Configuration configuration = new NHibernateSessionFactoryBuilder()
                                          .WithFileDependency("SharpArch.NHibernate")
                                          .UsePersistenceConfigurer(persistenceConfigurer)
                                          .BuildConfiguration();

            configuration.BuildSessionFactory();
        }
        public void CanInitializeWithPersistenceConfigurerAndConfigFile()
        {
            SQLiteConfiguration persistenceConfigurer =
                SQLiteConfiguration.Standard.ConnectionString(c => c.Is("Data Source=:memory:;Version=3;New=True;"));

            Configuration configuration = new NHibernateSessionFactoryBuilder()
                .UsePersistenceConfigurer(persistenceConfigurer)
                .UseConfigFile(GetConfigFullName())
                .BuildConfiguration();

            Assert.That(configuration, Is.Not.Null);
            configuration.BuildSessionFactory();
        }
        public void ShouldPersistExposedConfigurationChanges()
        {
            var cache = new InMemoryCache();

            new NHibernateSessionFactoryBuilder()
            .UseConfigFile(GetConfigFullName())
            .ExposeConfiguration(c => c.SetProperty("connection.connection_string", "updated-connection"))
            .UseConfigurationCache(cache)
            .BuildConfiguration();

            Configuration config = new NHibernateSessionFactoryBuilder()
                                   .UseConfigFile(GetConfigFullName())
                                   .UseConfigurationCache(cache)
                                   .BuildConfiguration();

            config.Properties["connection.connection_string"].Should().Be("updated-connection");
        }
Exemplo n.º 18
0
 /// <summary>
 ///     Override this method to customize NHibernate configuration.
 /// </summary>
 /// <param name="builder">
 ///     <see cref="NHibernateSessionFactoryBuilder" />
 /// </param>
 protected virtual void Customize(NHibernateSessionFactoryBuilder builder)
 {
 }
        public void ShouldPersistExposedConfigurationChanges()
        {
            var cache = new InMemoryCache();

            new NHibernateSessionFactoryBuilder()
                .UseConfigFile(GetConfigFullName())
                .ExposeConfiguration(c => c.SetProperty("connection.connection_string", "updated-connection"))
                .UseConfigurationCache(cache)
                .BuildConfiguration();

            Configuration config = new NHibernateSessionFactoryBuilder()
                .UseConfigFile(GetConfigFullName())
                .UseConfigurationCache(cache)
                .BuildConfiguration();

            config.Properties["connection.connection_string"].Should().Be("updated-connection");
        }
        public void WhenUsingDataAnnotationValidators_ShouldKeepRegisteredPreUpdateEventListeners()
        {
            Configuration configuration = new NHibernateSessionFactoryBuilder()
                .UseConfigFile(GetConfigFullName())
                .UseDataAnnotationValidators(true)
                .BuildConfiguration();

            configuration.EventListeners.PreUpdateEventListeners.Should().Contain(l => l is PreUpdateListener);
        }