Amss.Boilerplate.Persistence.Impl.Configuration.PersistenceContainerExtension.Initialize C# (CSharp) Method

Initialize() protected method

protected Initialize ( ) : void
return void
        protected override void Initialize()
        {
            this.Container
                .RegisterType<DatabaseConfigurator, MsSql2005DatabaseConfigurator>("System.Data.SqlClient")
                .RegisterType<DatabaseConfigurator>(new InjectionFactory(this.CreateDatabaseConfigurator))
                .RegisterType<ISessionFactory>(
                    new ContainerControlledLifetimeManager(),
                    new InjectionFactory(CreateSessionFactory))
                .RegisterType<ISession>(new UnitOfWorkLifetimeManager(), new InjectionFactory(this.CreateSession))
                .RegisterType<Func<ISession>>(
                    new ContainerControlledLifetimeManager(),
                    new InjectionFactory(
                        c =>
                        {
                            Func<ISession> func = () => c.Resolve<ISession>();
                            return func;
                        }))
                .RegisterType(typeof(IRepository), typeof(Repository), new ContainerControlledLifetimeManager())
                .RegisterType<ITransactionManager, TransactionManager>();

            LoggerProvider.SetLoggersFactory(new NHibernate.Logging.CommonLogging.CommonLoggingLoggerFactory());

            this.RegisterCommands();

            this.ConfigureExceptionHandling();
        }