public static Expression Build(SqlDataTypeProvider sqlDataTypeProvider, SqlDialect sqlDialect, DataAccessModel model, string tableNamePrefix, SqlDataDefinitionBuilderFlags flags)
        {
            var builder = new SqlDataDefinitionExpressionBuilder(sqlDialect, sqlDataTypeProvider, model, tableNamePrefix, flags);

            var retval = builder.Build();

            return retval;
        }
		public Sql92QueryFormatter(SqlQueryFormatterOptions options = SqlQueryFormatterOptions.Default, SqlDialect sqlDialect = null, SqlDataTypeProvider sqlDataTypeProvider = null, TypeDescriptorProvider typeDescriptorProvider = null)
			: base(sqlDialect, new StringWriter(new StringBuilder()))
		{
			this.options = options;
			this.typeDescriptorProvider = typeDescriptorProvider;
			this.sqlDataTypeProvider = sqlDataTypeProvider ?? new DefaultSqlDataTypeProvider(new ConstraintDefaultsConfiguration());
			this.stringQuote = this.sqlDialect.GetSyntaxSymbolString(SqlSyntaxSymbol.StringQuote);
			this.identifierQuoteString = this.sqlDialect.GetSyntaxSymbolString(SqlSyntaxSymbol.IdentifierQuote);
		}
        private SqlDataDefinitionExpressionBuilder(SqlDialect sqlDialect, SqlDataTypeProvider sqlDataTypeProvider, DataAccessModel model, string tableNamePrefix, SqlDataDefinitionBuilderFlags flags)
        {
            this.model = model;
            this.sqlDialect = sqlDialect;
            this.tableNamePrefix = tableNamePrefix;
            this.flags = flags;
            this.sqlDataTypeProvider = sqlDataTypeProvider;

            this.currentTableConstraints = new List<Expression>();
        }
Example #4
0
        public Sql92QueryFormatter(SqlQueryFormatterOptions options = SqlQueryFormatterOptions.Default, SqlDialect sqlDialect = null, SqlDataTypeProvider sqlDataTypeProvider = null)
            : base(sqlDialect, new StringWriter(new StringBuilder()))
        {
            this.options = options;

            if (sqlDataTypeProvider == null)
            {
                this.sqlDataTypeProvider = new DefaultSqlDataTypeProvider(ConstraintDefaults.Default);
            }
            else
            {
                this.sqlDataTypeProvider = sqlDataTypeProvider;
            }

            this.stringQuote = this.sqlDialect.GetSyntaxSymbolString(SqlSyntaxSymbol.StringQuote);
            this.identifierQuoteString = this.sqlDialect.GetSyntaxSymbolString(SqlSyntaxSymbol.IdentifierQuote);
        }
 public SqliteSqlQueryFormatter(SqlQueryFormatterOptions options, SqlDialect sqlDialect, SqlDataTypeProvider sqlDataTypeProvider)
     : base(options, sqlDialect, sqlDataTypeProvider)
 {
 }
Example #6
0
        protected PostgresDotConnectSqlDatabaseContext(DataAccessModel model, SqlDialect sqlDialect, SqlDataTypeProvider sqlDataTypeProvider, SqlQueryFormatterManager sqlQueryFormatterManager, PostgresDotConnectSqlDatabaseContextInfo contextInfo)
            : base(model, sqlDialect, sqlDataTypeProvider, sqlQueryFormatterManager, contextInfo.DatabaseName, contextInfo)
        {
            if (!string.IsNullOrEmpty(contextInfo.ConnectionString))
            {
                this.ConnectionString       = contextInfo.ConnectionString;
                this.ServerConnectionString = Regex.Replace(this.ConnectionString, @"Database\s*\=[^;$]+[;$]", "");
            }
            else
            {
                this.Host     = contextInfo.ServerName;
                this.UserId   = contextInfo.UserId;
                this.Password = contextInfo.Password;
                this.Port     = contextInfo.Port;

                var connectionStringBuilder = new PgSqlConnectionStringBuilder
                {
                    Host              = contextInfo.ServerName,
                    UserId            = contextInfo.UserId,
                    Password          = contextInfo.Password,
                    Port              = contextInfo.Port,
                    Pooling           = contextInfo.Pooling,
                    Enlist            = false,
                    Charset           = "UTF8",
                    Unicode           = true,
                    MaxPoolSize       = contextInfo.MaxPoolSize,
                    UnpreparedExecute = contextInfo.UnpreparedExecute
                };

                if (contextInfo.ConnectionTimeout != null)
                {
                    connectionStringBuilder.ConnectionTimeout = contextInfo.ConnectionTimeout.Value;
                }

                if (contextInfo.ConnectionCommandTimeout != null)
                {
                    connectionStringBuilder.DefaultCommandTimeout = contextInfo.ConnectionCommandTimeout.Value;
                }

                this.ServerConnectionString      = connectionStringBuilder.ConnectionString;
                connectionStringBuilder.Database = contextInfo.DatabaseName;
                this.ConnectionString            = connectionStringBuilder.ConnectionString;
            }

            this.SchemaManager = new PostgresSqlDatabaseSchemaManager(this);
        }
 public PostgresSqlQueryFormatter(SqlQueryFormatterOptions options, SqlDialect sqlDialect, SqlDataTypeProvider sqlDataTypeProvider, TypeDescriptorProvider typeDescriptorProvider, string schemaName, bool convertEnumsToText)
     : base(options, sqlDialect, sqlDataTypeProvider, typeDescriptorProvider)
 {
     this.schemaName         = schemaName;
     this.ConvertEnumsToText = convertEnumsToText;
 }
 public static Expression Build(SqlDataTypeProvider sqlDataTypeProvider, SqlDialect sqlDialect)
 {
     return(null);
 }
Example #9
0
        public Sql92QueryFormatter(SqlQueryFormatterOptions options = SqlQueryFormatterOptions.Default, SqlDialect sqlDialect = null, SqlDataTypeProvider sqlDataTypeProvider = null)
            : base(sqlDialect, new StringWriter(new StringBuilder()))
        {
            this.options = options;

            if (sqlDataTypeProvider == null)
            {
                this.sqlDataTypeProvider = new DefaultSqlDataTypeProvider(ConstraintDefaults.Default);
            }
            else
            {
                this.sqlDataTypeProvider = sqlDataTypeProvider;
            }

            this.stringQuote           = this.sqlDialect.GetSyntaxSymbolString(SqlSyntaxSymbol.StringQuote);
            this.identifierQuoteString = this.sqlDialect.GetSyntaxSymbolString(SqlSyntaxSymbol.IdentifierQuote);
        }
 public SqlServerSqlQueryFormatter(SqlQueryFormatterOptions options, SqlDialect sqlDialect, SqlDataTypeProvider sqlDataTypeProvider, TypeDescriptorProvider typeDescriptorProvider, SqlServerSqlDatabaseContextInfo contextInfo, string serverVersion)
     : base(options, sqlDialect, sqlDataTypeProvider, typeDescriptorProvider)
 {
     this.contextInfo  = contextInfo;
     this.majorVersion = serverVersion == null ? null : (int?)Convert.ToInt32(serverVersion.Split('.')[0]);
 }
Example #11
0
 public PostgresSharedSqlQueryFormatter(SqlQueryFormatterOptions options, SqlDialect sqlDialect, SqlDataTypeProvider sqlDataTypeProvider, string schemaName)
     : base(options, sqlDialect, sqlDataTypeProvider)
 {
     this.schemaName = schemaName;
 }
Example #12
0
        private SqlServerSqlDatabaseContext(DataAccessModel model, SqlDataTypeProvider sqlDataTypeProvider, SqlQueryFormatterManager sqlQueryFormatterManager, SqlServerSqlDatabaseContextInfo contextInfo)
            : base(model, SqlServerSqlDialect.Default, sqlDataTypeProvider, sqlQueryFormatterManager, GetDatabaseName(contextInfo).Trim(), contextInfo)
        {
            this.ServerName = contextInfo.ServerName;
            this.Username   = contextInfo.UserName;
            this.Password   = contextInfo.Password;
            this.Instance   = contextInfo.Instance;
            this.DeleteDatabaseDropsTablesOnly = contextInfo.DeleteDatabaseDropsTablesOnly;

            if (!string.IsNullOrEmpty(contextInfo.ConnectionString))
            {
                var found = false;

                this.ConnectionString = contextInfo.ConnectionString;

                this.ConnectionString = Regex.Replace(this.ConnectionString, @"Enlist\s*=[^;$]+", c =>
                {
                    found = true;

                    return("Enlist=False");
                });

                if (!found)
                {
                    this.ConnectionString += ";Enlist=False;";
                }

                this.ServerConnectionString = ConnectionStringDatabaseNameRegex.Replace(this.ConnectionString, "Initial Catalog=master;");
            }
            else
            {
                var connectionStringBuilder = new SqlConnectionStringBuilder();

                var dataSource = this.ServerName;

                if (!string.IsNullOrEmpty(this.Instance))
                {
                    dataSource += @"\" + this.Instance;
                }

                if (string.IsNullOrEmpty(this.Username) || contextInfo.TrustedConnection)
                {
                    connectionStringBuilder.IntegratedSecurity = true;
                }
                else
                {
                    connectionStringBuilder.UserID   = this.Username;
                    connectionStringBuilder.Password = this.Password;
                }

                connectionStringBuilder.Enlist         = false;
                connectionStringBuilder.DataSource     = dataSource;
                connectionStringBuilder.InitialCatalog = this.DatabaseName;
                connectionStringBuilder.Encrypt        = contextInfo.Encrypt;

                if (contextInfo.ConnectionTimeout != null)
                {
                    connectionStringBuilder.ConnectTimeout = contextInfo.ConnectionTimeout.Value;
                }

                this.ConnectionString = connectionStringBuilder.ConnectionString;
                connectionStringBuilder.InitialCatalog = "master";
                this.ServerConnectionString            = connectionStringBuilder.ConnectionString;
            }

            this.SchemaManager = new SqlServerSqlDatabaseSchemaManager(this);
        }
Example #13
0
 public SqlServerSqlQueryFormatter(SqlQueryFormatterOptions options, SqlDialect sqlDialect, SqlDataTypeProvider sqlDataTypeProvider, TypeDescriptorProvider typeDescriptorProvider)
     : base(options, sqlDialect, sqlDataTypeProvider, typeDescriptorProvider)
 {
 }
        public static Expression Amend(Expression expression, SqlDataTypeProvider sqlDataTypeProvider)
        {
            var processor = new PostgresDataDefinitionExpressionAmender(sqlDataTypeProvider);

            return(processor.Visit(expression));
        }
 public MySqlSqlQueryFormatter(SqlQueryFormatterOptions options, SqlDialect sqlDialect, SqlDataTypeProvider sqlDataTypeProvider, TypeDescriptorProvider typeDescriptorProvider, bool silentlyIgnoreIndexConditions)
     : base(options, sqlDialect, sqlDataTypeProvider, typeDescriptorProvider)
 {
     this.silentlyIgnoreIndexConditions = silentlyIgnoreIndexConditions;
 }
 private SqlDataDefinitionExpressionBuilder(DataAccessModel dataAccessModel, SqlQueryFormatterManager formatterManager, SqlDialect sqlDialect, SqlDataTypeProvider sqlDataTypeProvider, DataAccessModel model, DatabaseCreationOptions options, string tableNamePrefix, SqlDataDefinitionBuilderFlags flags)
 {
     this.dataAccessModel         = dataAccessModel;
     this.formatterManager        = formatterManager;
     this.model                   = model;
     this.sqlDialect              = sqlDialect;
     this.flags                   = flags;
     this.sqlDataTypeProvider     = sqlDataTypeProvider;
     this.currentTableConstraints = new List <SqlConstraintExpression>();
 }
        public static Expression Build(DataAccessModel dataAccessModel, SqlQueryFormatterManager formatterManager, SqlDataTypeProvider sqlDataTypeProvider, SqlDialect sqlDialect, DataAccessModel model, DatabaseCreationOptions options, string tableNamePrefix, SqlDataDefinitionBuilderFlags flags)
        {
            var builder = new SqlDataDefinitionExpressionBuilder(dataAccessModel, formatterManager, sqlDialect, sqlDataTypeProvider, model, options, tableNamePrefix, flags);

            var retval = builder.Build();

            return(retval);
        }
Example #18
0
        private SqlServerSqlDatabaseContext(DataAccessModel model, SqlDataTypeProvider sqlDataTypeProvider, SqlQueryFormatterManager sqlQueryFormatterManager, SqlServerSqlDatabaseContextInfo contextInfo)
            : base(model, new SqlServerSqlDialect(contextInfo), sqlDataTypeProvider, sqlQueryFormatterManager, GetDatabaseName(contextInfo).Trim(), contextInfo)
        {
            this.ServerName                    = contextInfo.ServerName;
            this.Username                      = contextInfo.UserName;
            this.Password                      = contextInfo.Password;
            this.Instance                      = contextInfo.Instance;
            this.AllowSnapshotIsolation        = contextInfo.AllowSnapshotIsolation;
            this.ReadCommittedSnapshot         = contextInfo.ReadCommittedSnapshot;
            this.DeleteDatabaseDropsTablesOnly = contextInfo.DeleteDatabaseDropsTablesOnly;

            if (!string.IsNullOrEmpty(contextInfo.ConnectionString))
            {
                var found = false;

                this.ConnectionString = contextInfo.ConnectionString;

                this.ConnectionString = EnlistRegex.Replace(this.ConnectionString, c =>
                {
                    found = true;

                    return(IsRunningMono() ? "" : "Enlist=False");
                });

                if (!found && !IsRunningMono())
                {
                    this.ConnectionString += ";Enlist=False;";
                }

                this.ServerConnectionString = DatabaseRegex.Replace(this.ConnectionString, "Initial Catalog=master;");
            }
            else
            {
                var connectionStringBuilder = new SqlConnectionStringBuilder();

                var dataSource = this.ServerName;

                if (!string.IsNullOrEmpty(this.Instance))
                {
                    dataSource += @"\" + this.Instance;
                }

                if (string.IsNullOrEmpty(this.Username) || contextInfo.TrustedConnection)
                {
                    connectionStringBuilder.IntegratedSecurity = true;
                }
                else
                {
                    connectionStringBuilder.UserID   = this.Username;
                    connectionStringBuilder.Password = this.Password;
                }

                connectionStringBuilder.MultipleActiveResultSets = contextInfo.MultipleActiveResultSets;

                if (!IsRunningMono())
                {
                    connectionStringBuilder.Enlist = false;
                }

                connectionStringBuilder.DataSource     = dataSource;
                connectionStringBuilder.InitialCatalog = this.DatabaseName;
                connectionStringBuilder.Encrypt        = contextInfo.Encrypt;
                connectionStringBuilder.Pooling        = contextInfo.Pooling;

                // TODO: Remove when Mono switches to using reference source implementation

                if (!IsRunningMono())
                {
                    connectionStringBuilder.TypeSystemVersion = contextInfo.TypeSystemVersion ?? "SQL Server 2008";
                }

                if (contextInfo.ConnectionTimeout != null)
                {
                    connectionStringBuilder.ConnectTimeout = contextInfo.ConnectionTimeout.Value;
                }

                this.ConnectionString = connectionStringBuilder.ConnectionString;
                connectionStringBuilder.InitialCatalog = "master";
                this.ServerConnectionString            = connectionStringBuilder.ConnectionString;
            }

            this.SchemaManager = new SqlServerSqlDatabaseSchemaManager(this);
        }
 private MySqlInsertIntoAutoIncrementAmmender(SqlDataTypeProvider sqlDataTypeProvider)
 {
 }
        public SqliteOfficialsSqlDatabaseContext(DataAccessModel model, SqliteSqlDatabaseContextInfo contextInfo, SqlDataTypeProvider sqlDataTypeProvider, SqlQueryFormatterManager sqlQueryFormatterManager)
            : base(model, contextInfo, sqlDataTypeProvider, sqlQueryFormatterManager)
        {
            Version version;
            var     versionString = SQLiteConnection.SQLiteVersion;

            if (Version.TryParse(versionString, out version))
            {
                if (version < new Version(3, 7, 7))
                {
                    bool isInMemory;
                    var  uri = contextInfo.FileName;

                    Logger.WarnFormat("Sqlite version {0} does not support URIs", versionString);

                    uri = ConvertNewStyleUriToOldStyleUri(uri, out isInMemory);

                    this.IsInMemoryConnection    = isInMemory;
                    this.IsSharedCacheConnection = false;
                    this.FileName = uri;
                }
            }
            else
            {
                Logger.WarnFormat("Cannot parse sqlite version: {0}", versionString);
            }

            var connectionStringBuilder = new SQLiteConnectionStringBuilder();

            connectionStringBuilder.FullUri     = this.FileName;
            connectionStringBuilder.Enlist      = false;
            connectionStringBuilder.ForeignKeys = true;

            this.ConnectionString       = connectionStringBuilder.ConnectionString;
            this.ServerConnectionString = this.ConnectionString;

            this.SchemaManager = new SqliteOfficialSqlDatabaseSchemaManager(this);
        }
        public static Expression Ammend(Expression expression, SqlDataTypeProvider sqlDataTypeProvider)
        {
            var processor = new MySqlInsertIntoAutoIncrementAmmender(sqlDataTypeProvider);

            return(processor.Visit(expression));
        }
 public PostgresSqlDataDefinitionExpressionBuilder(SqlDatabaseContext sqlDatabaseContext, SqlDataTypeProvider sqlDataTypeProvider, SqlDialect sqlDialect)
 {
     this.SqlDatabaseContext  = sqlDatabaseContext;
     this.SqlDataTypeProvider = sqlDataTypeProvider;
     this.SqlDialect          = sqlDialect;
 }
        protected PostgresSqlDatabaseContext(DataAccessModel model, SqlDialect sqlDialect, SqlDataTypeProvider sqlDataTypeProvider, SqlQueryFormatterManager sqlQueryFormatterManager, PostgresSqlDatabaseContextInfo contextInfo)
            : base(model, sqlDialect, sqlDataTypeProvider, sqlQueryFormatterManager, contextInfo.DatabaseName, contextInfo)
        {
            this.Host     = contextInfo.ServerName;
            this.UserId   = contextInfo.UserId;
            this.Password = contextInfo.Password;
            this.Port     = contextInfo.Port;

            var connectionStringBuilder = new NpgsqlConnectionStringBuilder
            {
                Host            = contextInfo.ServerName,
                Username        = contextInfo.UserId,
                Password        = contextInfo.Password,
                Port            = contextInfo.Port,
                Pooling         = contextInfo.Pooling,
                Enlist          = false,
                BackendTimeouts = contextInfo.BackendTimeouts,
                MinPoolSize     = contextInfo.MinPoolSize,
                MaxPoolSize     = contextInfo.MaxPoolSize
            };

            if (contextInfo.ConnectionTimeout.HasValue)
            {
                connectionStringBuilder.Timeout = contextInfo.ConnectionTimeout.Value;
            }

            if (contextInfo.ConnectionCommandTimeout.HasValue)
            {
                connectionStringBuilder.CommandTimeout = contextInfo.ConnectionCommandTimeout.Value;
            }

            connectionStringBuilder.Database = contextInfo.DatabaseName;

            this.ConnectionString = connectionStringBuilder.ToString();

            connectionStringBuilder.Database = "postgres";

            this.ServerConnectionString = connectionStringBuilder.ToString();

            this.SchemaManager = new PostgresSqlDatabaseSchemaManager(this);
        }
        public SqliteMonoSqlDatabaseContext(DataAccessModel model, SqliteSqlDatabaseContextInfo contextInfo, SqlDataTypeProvider sqlDataTypeProvider, SqlQueryFormatterManager sqlQueryFormatterManager)
            : base(model, contextInfo, sqlDataTypeProvider, sqlQueryFormatterManager)
        {
            var connectionStringBuilder = new SqliteConnectionStringBuilder
            {
                Enlist     = false,
                DataSource = contextInfo.FileName
            };

            connectionStringBuilder.Add("foreign keys", 1);

            this.ConnectionString       = connectionStringBuilder.ConnectionString;
            this.ServerConnectionString = this.ConnectionString;

            this.SchemaManager = new SqliteMonoSqlDatabaseSchemaManager(this);
        }
Example #25
0
        protected PostgresSqlDatabaseContext(DataAccessModel model, SqlDialect sqlDialect, SqlDataTypeProvider sqlDataTypeProvider, SqlQueryFormatterManager sqlQueryFormatterManager, PostgresSqlDatabaseContextInfo contextInfo)
            : base(model, sqlDialect, sqlDataTypeProvider, sqlQueryFormatterManager, contextInfo.DatabaseName, contextInfo)
        {
            this.SupportsPreparedTransactions = contextInfo.EnablePreparedTransactions;

            this.Host     = contextInfo.ServerName;
            this.UserId   = contextInfo.UserId;
            this.Password = contextInfo.Password;
            this.Port     = contextInfo.Port;

            var connectionStringBuilder = new NpgsqlConnectionStringBuilder
            {
                Host                    = contextInfo.ServerName,
                Username                = contextInfo.UserId,
                Password                = contextInfo.Password,
                Port                    = contextInfo.Port,
                Pooling                 = contextInfo.Pooling,
                Enlist                  = false,
                MinPoolSize             = contextInfo.MinPoolSize,
                MaxPoolSize             = contextInfo.MaxPoolSize,
                KeepAlive               = contextInfo.KeepAlive,
                ConnectionIdleLifetime  = contextInfo.ConnectionIdleLifetime,
                ConvertInfinityDateTime = contextInfo.ConvertInfinityDateTime
            };

            if (contextInfo.Timeout != null)
            {
                connectionStringBuilder.Timeout = contextInfo.Timeout.Value;
            }

            if (contextInfo.ConnectionTimeout.HasValue)
            {
                connectionStringBuilder.Timeout = contextInfo.ConnectionTimeout.Value;
            }

            if (contextInfo.ConnectionCommandTimeout.HasValue)
            {
                connectionStringBuilder.CommandTimeout = contextInfo.ConnectionCommandTimeout.Value;
            }

            connectionStringBuilder.Database = contextInfo.DatabaseName;

            this.ConnectionString = connectionStringBuilder.ToString();

            connectionStringBuilder.Database = "postgres";

            this.ServerConnectionString = connectionStringBuilder.ToString();

            this.SchemaManager = new PostgresSqlDatabaseSchemaManager(this);
        }
Example #26
0
 protected SqliteSqlDatabaseContext(DataAccessModel model, SqliteSqlDatabaseContextInfo contextInfo, SqlDataTypeProvider sqlDataTypeProvider, SqlQueryFormatterManager sqlQueryFormatterManager)
     : base(model, SqliteSqlDialect.Default, sqlDataTypeProvider, sqlQueryFormatterManager, Path.GetFileNameWithoutExtension(contextInfo.FileName), contextInfo)
 {
     this.FileName = contextInfo.FileName;
     this.IsSharedCacheConnection = IsSharedConnectionRegex.IsMatch(this.FileName);
     this.IsInMemoryConnection    = IsMemoryConnectionRegex.IsMatch(this.FileName);
 }
Example #27
0
        protected SqliteSqlDatabaseContext(DataAccessModel model, SqliteSqlDatabaseContextInfo contextInfo, SqlDataTypeProvider sqlDataTypeProvider, SqlQueryFormatterManager sqlQueryFormatterManager)
            : base(model, new SqliteSqlDialect(), sqlDataTypeProvider, sqlQueryFormatterManager, Path.GetFileNameWithoutExtension(contextInfo.FileName), contextInfo)
        {
            if (contextInfo.FileName == null && contextInfo.ConnectionString == null)
            {
                throw new ArgumentException($"Must supply {nameof(contextInfo.FileName)} or {nameof(contextInfo.ConnectionString)}", nameof(contextInfo));
            }

            this.FileName = contextInfo.FileName;

            this.IsSharedCacheConnection = IsSharedConnectionRegex.IsMatch(this.FileName ?? contextInfo.ConnectionString);
            this.IsInMemoryConnection    = IsMemoryConnectionRegex.IsMatch(this.FileName ?? contextInfo.ConnectionString);
        }
 public PostgresDotConnectSqlQueryFormatter(SqlQueryFormatterOptions options, SqlDialect sqlDialect, SqlDataTypeProvider sqlDataTypeProvider, TypeDescriptorProvider typeDescriptorProvider, string schemaName, bool convertEnumsToText)
     : base(options, sqlDialect, sqlDataTypeProvider, typeDescriptorProvider, schemaName, convertEnumsToText)
 {
 }
Example #29
0
        public SqlFixedDateDataType(ConstraintDefaultsConfiguration constraintDefaultsConfiguration, bool nullable, SqlDataTypeProvider sqlDataTypeProvider)
            : base(constraintDefaultsConfiguration, nullable ? typeof(FixedDate?) : typeof(FixedDate), false)
        {
            this.dateTimeDataType = sqlDataTypeProvider.GetSqlDataType(nullable ? typeof(DateTime?) : typeof(DateTime));

            this.typeConverter = System.ComponentModel.TypeDescriptor.GetConverter(this.SupportedType);
        }
 private PostgresDataDefinitionExpressionAmender(SqlDataTypeProvider sqlDataTypeProvider)
 {
     this.sqlDataTypeProvider = sqlDataTypeProvider;
 }
Example #31
0
        protected PostgresSqlDatabaseContext(DataAccessModel model, SqlDialect sqlDialect, SqlDataTypeProvider sqlDataTypeProvider, SqlQueryFormatterManager sqlQueryFormatterManager, PostgresSqlDatabaseContextInfo contextInfo)
            : base(model, sqlDialect, sqlDataTypeProvider, sqlQueryFormatterManager, contextInfo.DatabaseName, contextInfo)
        {
            this.Host           = contextInfo.ServerName;
            this.UserId         = contextInfo.UserId;
            this.Password       = contextInfo.Password;
            this.Port           = contextInfo.Port;
            this.CommandTimeout = TimeSpan.FromSeconds(contextInfo.CommandTimeout);

            this.ConnectionString       = String.Format("Host={0};User Id={1};Password={2};Database={3};Port={4};Pooling={5};MinPoolSize={6};MaxPoolSize={7};Enlist=false;Timeout={8};CommandTimeout={9}", contextInfo.ServerName, contextInfo.UserId, contextInfo.Password, contextInfo.DatabaseName, contextInfo.Port, contextInfo.Pooling, contextInfo.MinPoolSize, contextInfo.MaxPoolSize, contextInfo.ConnectionTimeout, contextInfo.CommandTimeout);
            this.ServerConnectionString = Regex.Replace(this.ConnectionString, @"Database\s*\=[^;]+[;$]", "Database=postgres;");

            this.SchemaManager = new PostgresSharedSqlDatabaseSchemaManager(this);
        }