Amss.Boilerplate.Persistence.Impl.Configuration.DatabaseConfigurator.CreateProductionSchema C# (CSharp) Method

CreateProductionSchema() protected method

protected CreateProductionSchema ( ) : FluentConfiguration
return FluentNHibernate.Cfg.FluentConfiguration
        protected virtual FluentConfiguration CreateProductionSchema()
        {
            var cfg = new AutomappingConfiguration();
            var configuration = Fluently.Configure()
                .Diagnostics(d => d.RegisterListener(new CommonLoggingDiagnosticListener()).Enable())
                .Database(this.CreatePersistenceConfigurator())
                .Mappings(
                    m => m
                        .AutoMappings.Add(
                        () => AutoMap
                                  .AssemblyOf<BaseEntity>(cfg)
                                  .UseOverridesFromAssemblyOf<TableNameConvention>()
                                  .Conventions
                                  .AddFromAssemblyOf<TableNameConvention>()))
                .Cache(
                    c => c
                        .ProviderClass<NHibernate.Cache.HashtableCacheProvider>()
                        .UseQueryCache())
                .ExposeConfiguration(
                        config =>
                            {
                                config.SetInterceptor(new AuditInterceptor());
                                var type = this.GetSqlExceptionConverterType();
                                if (type != null)
                                {
                                    config.SetProperty(
                                        NHibernate.Cfg.Environment.SqlExceptionConverter,
                                        type.AssemblyQualifiedName);
                                }
                            });
            return configuration;
        }