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); }
protected SqliteSqlDatabaseContext(DataAccessModel model, SqliteSqlDatabaseContextInfo contextInfo, SqlDataTypeProvider sqlDataTypeProvider, SqlQueryFormatterManager sqlQueryFormatterManager) : base(model, new SqliteSqlDialect(), sqlDataTypeProvider, sqlQueryFormatterManager, Path.GetFileNameWithoutExtension(contextInfo.FileName), contextInfo) { this.FileName = contextInfo.FileName; this.IsSharedCacheConnection = IsSharedConnectionRegex.IsMatch(this.FileName); this.IsInMemoryConnection = IsMemoryConnectionRegex.IsMatch(this.FileName); }
public SqliteMonoSqlDatabaseContext(DataAccessModel model, SqliteSqlDatabaseContextInfo contextInfo, SqlDataTypeProvider sqlDataTypeProvider, SqlQueryFormatterManager sqlQueryFormatterManager) : base(model, contextInfo, sqlDataTypeProvider, sqlQueryFormatterManager) { if (this.FileName != null) { var connectionStringBuilder = new SqliteConnectionStringBuilder { Enlist = false, DataSource = contextInfo.FileName }; connectionStringBuilder.Add("DateTimeKind", contextInfo.DateTimeKind); connectionStringBuilder.Add("foreign keys", 1); this.ConnectionString = connectionStringBuilder.ConnectionString; } else { this.ConnectionString = contextInfo.ConnectionString; } this.ServerConnectionString = this.ConnectionString; this.SchemaManager = new SqliteMonoSqlDatabaseSchemaManager(this); }
public static SqliteSqlDatabaseContext Create(SqliteSqlDatabaseContextInfo contextInfo, DataAccessModel model) { var constraintDefaults = model.Configuration.ConstraintDefaults; var sqlDataTypeProvider = new SqliteSqlDataTypeProvider(constraintDefaults); var sqlQueryFormatterManager = new DefaultSqlQueryFormatterManager(SqliteSqlDialect.Default, sqlDataTypeProvider, typeof(SqliteSqlQueryFormatter)); return new SqliteMonoSqlDatabaseContext(model, contextInfo, sqlDataTypeProvider, sqlQueryFormatterManager); }
public static SqliteSqlDatabaseContext Create(SqliteSqlDatabaseContextInfo contextInfo, DataAccessModel model) { var constraintDefaults = model.Configuration.ConstraintDefaults; var sqlDataTypeProvider = new SqliteSqlDataTypeProvider(constraintDefaults); var sqlQueryFormatterManager = new DefaultSqlQueryFormatterManager(SqliteSqlDialect.Default, sqlDataTypeProvider, typeof(SqliteSqlQueryFormatter)); return(new SqliteMonoSqlDatabaseContext(model, contextInfo, sqlDataTypeProvider, sqlQueryFormatterManager)); }
public static SqliteSqlDatabaseContext Create(SqliteSqlDatabaseContextInfo contextInfo, DataAccessModel model) { var constraintDefaults = model.Configuration.ConstraintDefaultsConfiguration; var sqlDialect = new SqliteSqlDialect(); var sqlDataTypeProvider = CreateSqlDataTypeProvider(model, contextInfo, () => new SqliteSqlDataTypeProvider(constraintDefaults)); var typeDescriptorProvider = model.TypeDescriptorProvider; var sqlQueryFormatterManager = new DefaultSqlQueryFormatterManager(sqlDialect, model.Configuration.NamingTransforms, (options, connection) => new SqliteSqlQueryFormatter(options, sqlDialect, sqlDataTypeProvider, typeDescriptorProvider)); return(new SqliteMonoSqlDatabaseContext(model, contextInfo, sqlDataTypeProvider, sqlQueryFormatterManager)); }
public static SqliteSqlDatabaseContext Create(SqliteSqlDatabaseContextInfo contextInfo, DataAccessModel model) { var constraintDefaults = model.Configuration.ConstraintDefaultsConfiguration; var sqlDialect = new SqliteSqlDialect(); var sqlDataTypeProvider = new SqliteSqlDataTypeProvider(constraintDefaults); var typeDescriptorProvider = model.TypeDescriptorProvider; var sqlQueryFormatterManager = new DefaultSqlQueryFormatterManager(sqlDialect, options => new SqliteSqlQueryFormatter(options, sqlDialect, sqlDataTypeProvider, typeDescriptorProvider)); return new SqliteMonoSqlDatabaseContext(model, contextInfo, sqlDataTypeProvider, sqlQueryFormatterManager); }
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 SqliteOfficialSqlDatabaseContext(DataAccessModel model, SqliteSqlDatabaseContextInfo contextInfo, SqlDataTypeProvider sqlDataTypeProvider, SqlQueryFormatterManager sqlQueryFormatterManager) : base(model, contextInfo, sqlDataTypeProvider, sqlQueryFormatterManager) { if (this.FileName != null) { 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 { FullUri = this.FileName, Enlist = false, ForeignKeys = true, DateTimeKind = contextInfo.DateTimeKind }; this.ConnectionString = connectionStringBuilder.ConnectionString; } else { this.ConnectionString = contextInfo.ConnectionString; } this.ServerConnectionString = this.ConnectionString; this.SchemaManager = new SqliteOfficialSqlDatabaseSchemaManager(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); }
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); }