Exemple #1
0
 public FluentSessionFactoryBuilder(
     IOptions <NhibernateOptions> options,
     IPersistenceConfigurerProvider persistenceConfigurerProvider,
     IDataFilterHandler dataFilterHandler)
 {
     this.persistenceConfigurerProvider = persistenceConfigurerProvider;
     this.dataFilterHandler             = dataFilterHandler;
     this.options = options.Value;
 }
        protected virtual IPersistenceConfigurer GetConfigurer(NhibernateOptions options, string connString)
        {
            switch (options.Dialect)
            {
            case NhibernateDialect.SqlServer2012:
                return(MsSqlConfiguration.MsSql2012
                       .Dialect <SceSqlServer2012Dialect>()
                       .DefaultSchema(options.DefaultSchema ?? "dbo")
                       .ConnectionString(connString));

            case NhibernateDialect.PostgreSQL82:
                FluentSessionMappingConfig.Instance.UseCamelCaseNames = true;
                return(PostgreSQLConfiguration.PostgreSQL82
                       .Dialect <ScePostgreSQL82Dialect>()
                       .DefaultSchema(options.DefaultSchema ?? "public")
                       .ConnectionString(connString));

            default:
                throw new NotSupportedException();
            }
        }
        public IPersistenceConfigurer GetConfigurer(NhibernateOptions options)
        {
            var connString = configuration.GetConnectionString(options.ConnectionStringName ?? DefaultConnectionStringName);

            return(GetConfigurer(options, connString));
        }