public static IDbAccessor CreateAccessor(DbAccessorType type, IDb db) { var setup = GetSetup(type, db); if (type == DbAccessorType.MsSql) { return(new MsSqlAccessor((IMsSqlScripter)setup.Scripter, setup.Mapper, db)); } return(new DbAccessor(setup.Scripter, setup.Mapper, db)); }
public static IDbAsyncAccessor CreateAccessor(DbAccessorType type, IDb db) { var setup = DbFactory.GetSetup(type, db); if (type == DbAccessorType.MsSql) { return(new MsSqlAsyncAccessor((IMsSqlScripter)setup.Scripter, setup.Mapper, db, setup.Aggregator)); } return(new DbAsyncAccessor(setup.Scripter, setup.Mapper, db, setup.Aggregator)); }
internal static AccessorSetup GetSetup(DbAccessorType type, IDb db) { var aggregator = new DbAggregator(); var mapper = new DbMapper(db); Func <ISqlBuilder> builders; switch (type) { case DbAccessorType.MsSql: { Func <IMsSqlBuilder> msbuilders = () => new MsSqlBuilder(); var msscripter = new MsSqlScripter(db, msbuilders); return(new AccessorSetup(msscripter, mapper, aggregator)); } case DbAccessorType.SqLite: { builders = () => new SqLiteBuilder(); } break; case DbAccessorType.MySql: { builders = () => new MySqlBuilder(); } break; case DbAccessorType.Oracle: { builders = () => new OracleBuilder(); } break; default: throw new InvalidOperationException(string.Format("Unsupported DbAccessorType value of '{0}'", type)); } var scripter = new DbScripter(db, builders); return(new AccessorSetup(scripter, mapper, aggregator)); }
public Db(DbAccessorType type, AccessorExtension extensions, Func <IDbConnection> connections) { m_Type = type; m_Extensions = extensions; m_Connections = connections; switch (m_Type) { case DbAccessorType.MsSql: ParameterLimit = 1000; // half of what is available ParameterNameLimit = 64; // half of what is available break; default: ParameterLimit = 1000; // using mssql's as a base ParameterNameLimit = 64; // using mssql's as a base break; } }
public static IDbAsyncAccessor CreateAccessor(DbAccessorType type, AccessorExtension extensions, Func <IDbConnection> connections) { return(CreateAccessor(type, new Db(type, extensions, connections))); }
public static IDbAccessorSlim CreateSlimAccessor(DbAccessorType type, Func <IDbConnection> connections) { return(CreateAccessor(type, new Db(type, AccessorExtension.None, connections))); }
public static IDbAccessorSlim CreateSlimAccessor(DbAccessorType type, IDb db) { return(CreateAccessor(type, db)); }