public static IStoreOption RegisterSqlServer(this IStoreOption option) { SqlDialectFactory.SqlDialects["sqlconnection"] = new SqlServerDialect(); CommandInterpreterFactory.CommandInterpreters["sqlconnection"] = d => new SqlServerCommandInterpreter(d); return(option); }
public static IStoreOption RegisterPostgreSql(this IStoreOption option) { SqlDialectFactory.SqlDialects["npgsqlconnection"] = new PostgreSqlDialect(); CommandInterpreterFactory.CommandInterpreters["npgsqlconnection"] = d => new PostgreSqlCommandInterpreter(d); return(option); }
public static IStoreOption UseConfig(this IStoreOption option, DataConfig config) { option.SqlMaps = config.SqlMaps; switch (config.DatabaseType.ToLower()) { case "sqlserver": option.UseSqlServer(config.ConnectionString, IsolationLevel.ReadUncommitted); break; case "Sqlite": var databaseFolder = App.GetLocalPath("appdata/db/", true); var databaseFile = Path.Combine(databaseFolder, $"{option.Name}.db"); option.UseSqLite($"Data Source={databaseFile};Cache=Shared", IsolationLevel.ReadUncommitted); break; case "MySql": option.UseMySql(config.ConnectionString, IsolationLevel.ReadUncommitted); break; case "Postgres": option.UsePostgreSql(config.ConnectionString, IsolationLevel.ReadUncommitted); break; default: throw new AceException("Unknown database provider: " + config.DatabaseType); } return(option); }
public static IStoreOption UseSqLite( this IStoreOption option, string connectionString) { return(UseSqLite( option, connectionString, IsolationLevel.Serializable)); }
public static IStoreOption UsePostgreSql( this IStoreOption option, string connectionString, IsolationLevel isolationLevel) { if (option == null) { throw new ArgumentNullException(nameof(option)); } if (String.IsNullOrWhiteSpace(connectionString)) { throw new ArgumentException(nameof(connectionString)); } RegisterPostgreSql(option); option.ConnectionFactory = new DbConnectionFactory <NpgsqlConnection>(connectionString); option.IsolationLevel = isolationLevel; return(option); }
public static IStoreOption UseSqLite( this IStoreOption option, string connectionString, IsolationLevel isolationLevel, bool shareConnection = false) { if (option == null) { throw new ArgumentNullException(nameof(option)); } if (String.IsNullOrWhiteSpace(connectionString)) { throw new ArgumentException(nameof(connectionString)); } RegisterSqLite(option); option.ConnectionFactory = new DbConnectionFactory <SqliteConnection>(connectionString, shareConnection); option.IsolationLevel = isolationLevel; return(option); }
public static IStoreOption UsePostgreSql( this IStoreOption option, string connectionString) { return(UsePostgreSql(option, connectionString, IsolationLevel.ReadUncommitted)); }
/*public static IStoreOption DisableQueryGating(this IStoreOption option) * { * option.QueryGatingEnabled = false; * return option; * }*/ public static IStoreOption SetSqlMaps(this IStoreOption option, string[] sqlmaps) { option.SqlMaps = sqlmaps; return(option); }
public static IStoreOption SetSessionPoolSize(this IStoreOption option, int size) { option.SessionPoolSize = size; return(option); }
public static IStoreOption AutoCreateSchema(this IStoreOption option, bool autoCreateSchema = true) { option.AutoCreateSchema = autoCreateSchema; return(option); }
public static IStoreOption SetConnectionFactory(this IStoreOption option, IConnectionFactory connectionFactory) { option.ConnectionFactory = connectionFactory; return(option); }
public static IStoreOption SetIsolationLevel(this IStoreOption option, IsolationLevel isolationLevel) { option.IsolationLevel = isolationLevel; return(option); }
public static IStoreOption UseDatabase(this IStoreOption option, string database) { option.Name = database; return(option); }
public static IStoreOption UseInMemory(this IStoreOption option) { const string inMemoryConnectionString = "Data Source=:memory:"; return(UseSqLite(option, inMemoryConnectionString, IsolationLevel.Serializable, shareConnection: true)); }
public Store(IStoreOption option) { Option = option; AfterOptionAssigned(); }