Exemplo n.º 1
0
        /// <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));
        }
Exemplo n.º 2
0
        /// <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));
        }
Exemplo n.º 3
0
        /// <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));
        }
Exemplo n.º 4
0
 /// <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));
 }
Exemplo n.º 5
0
 /// <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();
 }