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 MsSqlScripterTests() { var db = new Db(AccessorExtension.Common, () => null); _scripter = new MsSqlScripter(db, () => new MsSqlBuilder()); }