/// <summary> /// Creates the database connector. /// </summary> /// <param name="platform">The platform.</param> /// <param name="connectionString">The connection string.</param> /// <returns></returns> /// <exception cref="Goliath.Data.GoliathDataException"></exception> public IDbConnector CreateDbConnector(SupportedRdbms platform, string connectionString) { switch (platform) { case SupportedRdbms.Mssql2005: case SupportedRdbms.Mssql2008: case SupportedRdbms.Mssql2008R2: return(new MssqlDbConnector(connectionString)); case SupportedRdbms.Postgresql8: case SupportedRdbms.Postgresql9: return(new PostgresDbConnector(connectionString)); case SupportedRdbms.Sqlite3: return(new SqliteDbConnector(connectionString)); } throw new GoliathDataException(string.Format("Platform not {0} supported", platform)); }
/// <summary> /// Creates the dialect. /// </summary> /// <param name="platform">The platform.</param> /// <returns></returns> /// <exception cref="Goliath.Data.GoliathDataException"></exception> public SqlDialect CreateDialect(SupportedRdbms platform) { switch (platform) { case SupportedRdbms.Mssql2005: case SupportedRdbms.Mssql2008: case SupportedRdbms.Mssql2008R2: return(new Mssq2008Dialect()); case SupportedRdbms.Postgresql8: case SupportedRdbms.Postgresql9: return(new PostgresDialect()); case SupportedRdbms.Sqlite3: return(new SqliteDialect()); } throw new GoliathDataException(string.Format("Platform not {0} supported", platform)); }
/// <summary> /// Creates the database schema descriptor. /// </summary> /// <param name="platform">The platform.</param> /// <param name="settings">The settings.</param> /// <param name="filterSettings">The filter settings.</param> /// <returns></returns> /// <exception cref="GoliathDataException"></exception> public ISchemaDescriptor CreateDbSchemaDescriptor(SupportedRdbms platform, ProjectSettings settings, FilterSettings filterSettings) { var dbConnector = CreateDbConnector(platform, settings.ConnectionString); var dialect = CreateDialect(platform); var dbAccess = new DbAccess(dbConnector); switch (platform) { case SupportedRdbms.Mssql2005: case SupportedRdbms.Mssql2008: case SupportedRdbms.Mssql2008R2: return(new MssqlSchemaDescriptor(dbAccess, dbConnector, dialect, settings, filterSettings)); case SupportedRdbms.Postgresql8: case SupportedRdbms.Postgresql9: return(new PostgresSchemaDescriptor(dbAccess, dbConnector, dialect, settings, filterSettings)); case SupportedRdbms.Sqlite3: return(new SqliteSchemaDescriptor(dbAccess, dbConnector, dialect, settings, filterSettings)); } throw new GoliathDataException(string.Format("Platform not {0} supported", platform)); }
/// <summary> /// Generates the mapping. /// </summary> /// <param name="workingFolder">The working folder.</param> /// <param name="schemaDescriptor">The schema descriptor.</param> /// <param name="entityRenames">The entity renames.</param> /// <param name="settings">The settings.</param> /// <param name="baseModel">The base model.</param> /// <param name="rdbms">The RDBMS.</param> /// <param name="mapFileName">Name of the map file.</param> /// <returns></returns> public MapConfig GenerateMapping(string workingFolder, ISchemaDescriptor schemaDescriptor, IDictionary <string, string> entityRenames, ProjectSettings settings, ComplexType baseModel, SupportedRdbms rdbms, string mapFileName) { return(Build(workingFolder, settings, baseModel, schemaDescriptor, entityRenames, mapFileName)); }
/// <summary> /// Initializes a new instance of the <see cref="CodeGenRunner"/> class. /// </summary> /// <param name="rdbms">The RDBMS.</param> /// <param name="codeGen">The code gen.</param> public CodeGenRunner(SupportedRdbms rdbms, IGenerator codeGen) { this.rdbms = rdbms; this.codeGen = codeGen; Settings = new ProjectSettings(); }