Inheritance: FluentNHibernate.Automapping.DefaultAutomappingConfiguration
        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);
        }
 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;
 }